在 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 文件中的数据


发布评论