【发布时间】:2009-04-23 04:21:26
【问题描述】:
使用fseek回溯字符fscanf操作可靠吗?
例如,如果我只有 fscanf-ed 10 个字符,但我想回溯这 10 个字符,我可以只使用 fseek(infile, -10, SEEK_CUR) 吗?
在大多数情况下它都有效,但我似乎对字符 ^M 有问题。显然fseek 将其注册为一个字符,但fscanf 没有注册它,因此在我之前的示例中,一个包含^M 的10 字符块将需要fseek(infile, -11, SEEK_CUR)。 fseek(infile, -10, SEEK_CUR) 会缩短 1 个字符。
为什么会这样?
编辑:我在文本模式下使用fopen
【问题讨论】: