c - 如果再次执行,函数中的文件指针增量会保持该增量吗?
问题描述
我正在用 c 编程我有一个文件和一个从文件指针中获取单词的函数(删除标点符号和大写字母)。
我想知道的是,如果我执行getnextword
以获得下一个单词,增量是否会处于相同的位置?
解决方案
这取决于您如何读取文件,但如果您使用例如 fscanf 或类似的东西读取它,您正在读取的 FILE 将在执行该函数后前进,随后对该函数的调用将从它们停止的地方开始文件。如果您想从与以前相同的位置开始,则需要 fseek 之类的东西来设置文件中的位置。如果您对基于 FILE* 的文件 IO 使用通常的 fopen/fgetc/fscanf/fread 函数,那么在 FILE* 上调用读取方法的函数我认为通常会提前文件位置,并且会在对您的函数的调用中持续存在,如果您正在使用相同的文件。
推荐阅读
- laravel-5.2 - What problems can I solve using recursion in this code?
- javascript - 在样本中找到最主要的音频频率
- xamarin.ios - 如何在 android 和 ios 中返回导航时传播更改?
- c++ - 调用函数时从 'char' 到 'char*' 的无效转换(c++)
- c# - UWP - 获取 Windows::UI::Xaml::Controls::TextBox.TextChanged 事件的文本更改
- mysql - 节点 MYSQL 查询不起作用,但在 phpmyadmin 中起作用
- windows - x86 MASM 程序集 - 尽管 FlushConsoleInputBuffer 输入缓冲区保留旧输入
- php - 批量处理大量数据集 Laravel
- javascript - 将内容添加到输入:在 css 聚焦之前
- nginx - Flask Restplus Swagger 没有在 Nginx 后面加载