C++ seekg() 获取文本全部内容
时间: 2023-08-21 12:05:12 浏览: 134
Take_some_contents.zip_file content c++
使用 C++ 中的 seekg() 函数可以获取文本文件的全部内容,具体步骤如下:
1. 打开文件并判断是否成功打开。
2. 使用 seekg() 函数将文件读取位置设为文件开头,即将文件指针移动到文件开头。
3. 使用 tellg() 函数获取文件末尾位置,即文件大小。
4. 使用 new 运算符动态分配一个足够大的 char 数组,用于存储文件内容。
5. 使用 read() 函数将文件内容读取到 char 数组中。
6. 关闭文件。
以下是示例代码:
```c++
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream fin("test.txt");
if (!fin.is_open()) {
cout << "Failed to open file." << endl;
return 0;
}
fin.seekg(0, ios::end); // 将文件读取位置设为文件末尾
int size = fin.tellg(); // 获取文件大小
fin.seekg(0, ios::beg); // 将文件读取位置设为文件开头
char* buffer = new char[size]; // 动态分配存储文件内容的数组
fin.read(buffer, size); // 读取文件内容到数组中
fin.close(); // 关闭文件
// 输出文件内容
cout << buffer << endl;
delete[] buffer;
return 0;
}
```
注意:上述代码中使用了 new 运算符动态分配内存,需要在程序结束时使用 delete[] 释放内存。
阅读全文