求助
#include <stdio.h>#include <stdlib.h>
int main (int argc,char *argv[])
{
int ch;
FILE *fp;
long count=0;
if(argc!=2)
{
printf("Usage:%s filename\n",argv);
exit (1);
}
if ((fp=fopen(argv,"r"))==NULL)
{
printf("Can't not open %s\n",argv);
exit(1);
}
while ((ch=getc(fp))!=EOF)
{
putc(ch,stdout);
count++;
}
fclose(fp);
printf("File %s has %ld characters\n",argv,count);
return 0;
}
请问这个程序到底什么意思?这个变量argc什么意思,都没有初始化,怎么又在if语句中比较了,这个是书上的例子,但没讲这些细节,这是说明了文件操作的函数,求助 各位,别光看,帮我解答下谢谢啦 首先,main函数是程序的入口,也就是操作系统执行你的程序是从main开始执行的。不知道你用过ping命令吗,ping后面输入的ip就是ping程序的参数。main函数的那个形参argv就是用来存储程序参数的,因为参数可以有多个,所以使用char*型的数组来存储,而argc就是用来存储参数的个数。
事实上,argc(也就是参数个数)是大于等于1。因为argv中存储的第一个参数就是程序本身的路径。你的程序里if(argc!=2)也就是判断程序执行时后面有没有输入参数。你可以在cmd中执行以下这个程序,后面加一个文本文件路径的参数。like this:xxx.exe filename.txt 那个是控制台接受的参数的个数的意思。第二参数十控制台接受的参数 {:5_98:}兄弟这个程序其实就是说好程序 开始了第一步来看看有几个参数, argc!=2 只要不是2个的参数时就把第一个参数打印出来@花落、季 已经说过的就是该程序的路径 ok.....
如果还有参数呢 就来看看它是不是空argc == null如果是空就拜拜,不是的话就打印出来并且检测出一共有多少个字符....{:5_95:}
页:
[1]