C文件整行输入中空格的处理及疑问

2010-11-15 20:02:33
这个问题估计所有编程过的朋友都遇到过,输入输出大概是编程里面最常见的问题,而空格的处理显然,会稍微麻烦点.
面对整行输入中含有空格,我的第一个反应是fgets,但是fgets会读入0x0a,在算长度的时候比较麻烦(我原来的代码以及写好了,需求变动我才做的修改,当然希望改的越少越好);上网查了查,发现fscanf也是可以读入整行的,写法是:fscanf(file, \"%[^\\n]\", str);其中^是非的意思,意思为不包含\"\\n\"的字符全部读入,关键是不会读入0x0a,长度正常。
本来以为就此可以完事,没想到在循环读入的时候,却出现了EOF不能结束的问题,这个好奇怪,原因不明,知道的朋友麻烦告诉下哦。
最后,还是乖乖地用fgets.

西安交通大学教务处_西安科技大学研究生院_西安工程大学教务处交大