今天是上班“第一天”,一个fscanf难倒了我。
犹记初学C时,使用scanf时的各种窘态,追在老师屁股后面问
“为什么加了个\n,输入的数据读不进去,要敲两次回车”
---因为计算机在输入缓冲区找不到 '\n'
“为什么我的数据换了种写法就读不进去”
---因为你没按格式化字符串要求的输入
现在,再次在fscanf这马失前蹄,在用%s时,出错,文件格式大概为*,*,*,想用fscanf(fp , "%s,%s,%s" , )读出来,结果不正确,一次读入的是整行的数据,so,百度看了一些文章,扔不解,我的fscanf参数和文件的格式匹配啊,不应该啊!
再仔细看了下,看到了如下字眼“fscanf在不符合标识符标识的字符指针处停止”,懂了,fscanf按照%s读入时,逗号“,”是正确的字符串数据,所以一并读了,并没有结束,就这样一直读下去。
如果文件格式为*_*_*(_表示空格),那么用%s就没有问题
以前没有注意,写下来记录一下
谢谢崔同学!!!
阅读(1572) | 评论(1) | 转发(0) |