【发布时间】:2012-09-15 01:03:04
【问题描述】:
我的 fscanf 函数有问题
请原谅我的英语不好。
程序读取文件如下:
status = fscanf(ifile, "%%!%11s", ifbuf);
如果文件直接以所需条目开头,例如
%! UTF-8
some text
fscanf 读取ifbuf 中的一行。
如果在行中以空格开头
%! UTF-8
some text
fscanf 不读取任何内容。
可以通过在格式字符串中添加一个空格来使fscanf 函数在这两种情况下都起作用:
status = fscanf(ifile, " %%!%11s", ifbuf);
我想知道fscanf 函数的行为有多正确。
【问题讨论】:
-
你仔细阅读
fscanf的规范和文档了吗?多读几遍! -
fscanf 应该跳过前导空格,不是吗?
-
不,它应该能够读取任何字符,包括空格。顺便说一句,fscanf 是一个核心功能,您可以确信它可以按预期工作