
有关c语言文件操作的问题
1.用freopen打开文件如何判断文件结束?好像不能feof(stdin);2.如果用fopen,如何用printf("%s",a);(给字符串赋值)?请各位高手指教,...
1.用freopen打开文件如何判断文件结束?好像不能feof(stdin);
2.如果用fopen,如何用printf("%s",a);(给字符串赋值)?
请各位高手指教,小第愿意再加悬赏!!!
对不起,第二个问题我说的有点问题,假如说:
FILE *fp;
char a[100];
int b;
fp=fopen("file","r");
fscanf(fp,"%s",a);
fscanf(fp,"%d",&b);
(a长度未知,但小于100)就会报错。应怎样改正?如果用fgets(),那我又不知道该读几位(读多了后面的整数也会被读进去)!本人是初学者,希望高手指点! 展开
2.如果用fopen,如何用printf("%s",a);(给字符串赋值)?
请各位高手指教,小第愿意再加悬赏!!!
对不起,第二个问题我说的有点问题,假如说:
FILE *fp;
char a[100];
int b;
fp=fopen("file","r");
fscanf(fp,"%s",a);
fscanf(fp,"%d",&b);
(a长度未知,但小于100)就会报错。应怎样改正?如果用fgets(),那我又不知道该读几位(读多了后面的整数也会被读进去)!本人是初学者,希望高手指点! 展开
展开全部
(a长度未知,但小于100)就会报错。应怎样改正?这个会报错么??不会吧,这个就根输入一下阿.只要你的文件里面有一个"换行",字母和数字要放在两行阿
如:
adfasdfa
12
上面这两行就可以了阿.fscanf和scanf差不多吧,只是它写在文件中。scanf遇到'\n',也就是回车,它就会输进去阿。12就赋给了b。
你试试
如:
adfasdfa
12
上面这两行就可以了阿.fscanf和scanf差不多吧,只是它写在文件中。scanf遇到'\n',也就是回车,它就会输进去阿。12就赋给了b。
你试试
更多追问追答
追问
会呀!!
追答
你在return 0;前面加上一句fclose(fp);
还有阿,你的file这个文件要和你的test.exe放在同一个文件夹里面
你测一下你的fopen函数打开文件有没有错误,也有可能你fopen()函数打开文件错误。
后面的操作就都没用了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询