首页 > 解决方案 > 如果再次执行,函数中的文件指针增量会保持该增量吗?

问题描述

我正在用 c 编程我有一个文件和一个从文件指针中获取单词的函数(删除标点符号和大写字母)。

我想知道的是,如果我执行getnextword以获得下一个单词,增量是否会处于相同的位置?

标签: c

解决方案


这取决于您如何读取文件,但如果您使用例如 fscanf 或类似的东西读取它,您正在读取的 FILE 将在执行该函数后前进,随后对该函数的调用将从它们停止的地方开始文件。如果您想从与以前相同的位置开始,则需要 fseek 之类的东西来设置文件中的位置。如果您对基于 FILE* 的文件 IO 使用通常的 fopen/fgetc/fscanf/fread 函数,那么在 FILE* 上调用读取方法的函数我认为通常会提前文件位置,并且会在对您的函数的调用中持续存在,如果您正在使用相同的文件。


推荐阅读