第一个没问题,可以通过编译(TC2.0),也能正确读"d:\1.txt"的文件
第二个有点问题,可以编译,但无法读取输入的文件名.
提示:null pointer assignment
输入的是d:\1.txt,当然,前提是d:\1.txt存在.
如果输入d:\\1.txt,则打开错误
如何才能把第二个也做好?
小弟刚开始学C的,我已经想了蛮久了,不明白.指点一下是什么回事,谢谢了啦!!!
#include<stdio.h>
main()
{
FILE *fp;
char ch;
if((fp=fopen("d:\\1.txt","rt"))==NULL)
{
printf("Can not open file strike any key exit!");
getch();
exit(1);
}
ch=fgetc(fp);
while (ch!=EOF)
{
putchar(ch);
ch=fgetc(fp);
}
fclose(fp);
}
#include<stdio.h>
main()
{
char fname[80];
char ch;
FILE *fp;
printf("\nPlease input the file path:\n");
gets(fname);
if(fp=(fopen(fname,"r"))==NULL)
{
printf("file %s can't opened\n",fname);
exit(0);
}
ch=fgetc(fp);
while(ch!=EOF)
{
putchar(ch);
ch=fgetc(fp);
}
fclose(fp);
}