C++:
阅读文本文件

How to: (怎么做?)

#include <iostream>
#include <fstream>
#include <string>

int main() {
    std::ifstream file("example.txt"); // 打开文件
    std::string line;

    if (file.is_open()) {
        while (getline(file, line)) { // 循环读取每一行
            std::cout << line << '\n'; // 打印到控制台
        }
        file.close(); // 关闭文件
    } else {
        std::cout << "Unable to open file";
    }

    return 0;
}

Sample Output:

Hello, World!
This is an example text file.
Read me, please!

Deep Dive (深入了解)

文本文件读取不复杂,但有深度。早在C语言标准库中就有了fopenfgets等函数。C++引入了文件流(fstream),提供了更直观的操作方式。不止ifstreamstringstream可以读取字符串流。

替代方案多:C++17带来的filesystem库,或者mmap用于内存映射文件。选择取决于需要:性能敏感用mmap,简单场景用文件流。

重要细节:编码问题和异常处理。用wifstream读取宽字符文本,注意设置正确的locale。打开文件前检查是否存在,用try-catch处理异常。

See Also (另请参阅)