有关c语言文件操作的问题

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(),那我又不知道该读几位(读多了后面的整数也会被读进去)!本人是初学者,希望高手指点!

(a长度未知,但小于100)就会报错。应怎样改正?这个会报错么??不会吧,这个就根输入一下阿.只要你的文件里面有一个"换行",字母和数字要放在两行阿
如:
adfasdfa
12

上面这两行就可以了阿.fscanf和scanf差不多吧,只是它写在文件中。scanf遇到'\n',也就是回车,它就会输进去阿。12就赋给了b。
你试试追问

会呀!!

追答

你在return 0;前面加上一句fclose(fp);
还有阿,你的file这个文件要和你的test.exe放在同一个文件夹里面
你测一下你的fopen函数打开文件有没有错误,也有可能你fopen()函数打开文件错误。
后面的操作就都没用了

追问

谢谢!当时打快了,visual studio 的工程太高级,应把输入文件放在test\test\Debug不是test\Debug!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-13
如何用printf("%s",a);(给字符串赋值
基础不够,在去看看书吧
第2个回答  2011-10-15
都是大神
相似回答