快速从文件中读取下一个字符串,而无需移动文件的位置

Quick way to read the next string from a file without moving the position of the file

本文关键字:文件 移动 位置 字符串 读取 下一个      更新时间:2023-10-16

我想知道在不增加光标在文件中的位置的情况下读取文件中下一个字符串(检查它是否与字符串匹配(的最佳方法是什么。所以基本上我想在不读取下一个字符串的情况下读取下一个字符串。

只要使用相同的 ifstream 对象,就无法在不更改光标的情况下读取下一个字符串,但您可以保存并恢复位置:

auto p = stream.tellg();
// do what ever read you like
stream.seekg(p, std::ios_base::beg);

如果读取失败,则可能需要在调用 seekg(( 之前清除错误标志。