在 C++11 中,可以利用标准库提供的文件输入流类 std::ifstream 来读取 txt 文件中的数据。下面是一个简单的示例,演示如何逐行读取文件内容:

#include <iostream>
#include <fstream>
#include <string>
int main() {
    // 打开文件
    std::ifstream file("data.txt");
    if (!file.is_open()) {
        std::cerr << "无法打开文件" << std::endl;
        return 1;
    }
    // 逐行读取数据
    std::string line;
    while (std::getline(file, line)) {
        std::cout << line << std::endl;
    }
    // 关闭文件
    file.close();
    return 0;
}

代码说明

  • 包含头文件 :需要包含 <fstream> 来操作文件, <string> 用于处理字符串, <iostream> 用于输入输出。
  • 打开文件 :使用 std::ifstream file("data.txt") 打开名为 data.txt 的文件,并通过 is_open() 检查文件是否成功打开。
  • 读取文件内容 :利用 std::getline(file, line) 循环逐行读取文件内容,直到文件结束。每次读取的行数据保存在 line 字符串中。
  • 关闭文件 :读取结束后调用 file.close() 关闭文件。

此外,如果你需要逐个单词读取数据,也可以使用以下方式:

#include <iostream>
#include <fstream>
#include <string>
int main() {
    std::ifstream file("data.txt");
    if (!file.is_open()) {
        std::cerr << "无法打开文件" << std::endl;
        return 1;
    }
    std::string word;
    while (file >> word) {
        std::cout << word << std::endl;
    }
    
    file.close();
    return 0;
}

这种方法利用了输入流运算符( >> ),会自动跳过空白字符,适合读取以空格分隔的数据。

通过以上两种方法,你可以根据需要选择逐行或逐词读取 txt 文件中的数据