在C++中,seekg()
函数用于将文件的读取位置移动到指定的位置。
seekg()
函数有两个参数:
offset
:表示要移动的位置,可以是正数或负数。
origin
:表示移动的起始位置,可以是以下常量之一:
std::ios::beg
:从文件开头开始计算偏移量。
std::ios::cur
:以当前位置为参考点计算偏移量。
std::ios::end
:以文件末尾为参考点计算偏移量。
以下是seekg()
函数的使用示例:
#include <iostream>
#include <fstream>
int main() {
std::ifstream file("example.txt");
// 移动文件读取位置到第10个字节处
file.seekg(10, std::ios::beg);
// 读取从第10个字节开始的内容
std::string content;
file >> content;
std::cout << content << std::endl;
file.close();
return 0;
}
在上面的示例中,首先打开了名为example.txt
的文件,并使用seekg()
函数将文件的读取位置移动到第10个字节处。然后,使用>>
运算符读取从第10个字节开始的内容,并将其输出到控制台上。最后,关闭文件。
注意:seekg()
函数适用于二进制和文本文件。对于二进制文件,seekg()
函数的参数应该是字节数,而对于文本文件,seekg()
函数的参数应该是字符数。