编译为file.exefile.exe"ddd"结果内存不能READ,如果main参数加上intargc运行正常输出havenotenterfilenamestrikeanykeyexit了,这是为什么?#includeintmain(intargc,char*a...
编译为file.exe file.exe "ddd"结果内存不能READ,
如果main参数加上int argc 运行正常输出have not enter file name strike any key exit了,这是为什么?
#include
int main(int argc,char *argv[])
{
FILE *fp1,*fp2;
char ch;
if(argc==1)
{
printf("have not enter file name strike any key exit");
getchar();
return 1;
}
if((fp1=fopen(argv[1],"rt"))==NULL)
{
printf("Cannot open %s\n",argv[1]);
getchar();
return 1;
}
if(argc==2) fp2=stdout;
else if((fp2=fopen(argv[2],"wt+"))==NULL)
{
printf("Cannot open %s\n",argv[1]);
getchar();
return 1;
}
while((ch=fgetc(fp1))!=EOF)
fputc(ch,fp2);
fclose(fp1);
fclose(fp2);
}
哦,不好意思,代码粘贴错了,是这个:
#include
int main(char *ac[])
{
FILE *fp;
char ch;
if((fp=fopen(ac[1],"rt"))==NULL)
{
printf("\nCannot open file strike any key exit!");
getchar();
return 1;
}
ch=fgetc(fp);
while(ch!=EOF)
{
putchar(ch);
ch=fgetc(fp);
}
fclose(fp);
return 0;
}
展开