📅  最后修改于: 2023-12-03 15:29:42.939000             🧑  作者: Mango
在C++中,文件操作是经常使用的功能之一。tellg()函数是C++标准库中经常使用的文件操作函数之一。该函数可以返回指定输入流的当前位置。
tellg()函数可以用于返回指定输入流的当前位置,它的函数原型如下:
streampos tellg();
该函数返回一个streampos对象,该对象记录了文件指针相对于流开始位置的偏移量。streampos对象通常可以转化为long类型,即streampos的长度可以存储long类型所能表示的最大长度。
下面是一个简单的示例程序,在文件中写入数据,然后使用tellg()函数输出文件的读写位置:
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
// 创建文件输出流
ofstream ofs("test.txt");
if(ofs.is_open())
{
ofs << "hello world" << endl;
ofs.seekp(0, ios::beg);
streampos pos = ofs.tellp(); // 输出流
cout << "当前写位置: " << pos << endl;
ofs.close();
}
// 创建文件输入流
ifstream ifs("test.txt");
if (ifs.is_open())
{
char c;
ifs.seekg(0, ios::beg);
streampos pos = ifs.tellg(); // 输入流
cout << "当前读位置: " << pos << endl;
while(ifs.get(c))
{
cout << c;
}
ifs.close();
}
return 0;
}
文件操作在C++中是一个必不可少的功能,tellg()函数则是文件操作中的一个重要函数,可用于获取文件的读写位置。在开发中,我们需要根据具体的情况灵活使用该函数,来帮助我们更好地完成文件操作。