用c++写一个读取txt文件第三列的数据并存到vector中
时间: 2024-11-24 22:42:54 浏览: 23
在C++中,我们可以使用fstream库来操作文本文件,特别是读取数据。下面是一个简单的示例,它展示了如何读取一个.txt文件的第三列数据并将它们存储在一个`std::vector`中。假设你的文本文件是以逗号分隔值(CSV)格式,并且每一行都有三列数据。
```cpp
#include <iostream>
#include <fstream>
#include <sstream> // 用于分割字符串
#include <vector>
// 函数原型,将一行的第三列数据添加到vector中
void readThirdColumn(const std::string &line, std::vector<std::string> &data);
int main() {
std::ifstream inputFile("input.txt"); // 打开文件
if (!inputFile) {
std::cerr << "Failed to open file!" << std::endl;
return 1;
}
std::vector<std::string> columnData; // 存储第三列的数据
std::string line;
while (getline(inputFile, line)) { // 遍历文件每一行
std::istringstream iss(line); // 创建流解析器
std::string column;
int count = 0;
// 分割行,获取每个字段
while (iss >> column) {
++count; // 检查是否到达第三列
if (count == 3) {
columnData.push_back(column); // 如果到了第三列,添加到vector
}
}
}
inputFile.close(); // 关闭文件
// 现在columnData中包含了所有第三列的数据
for (const auto &value : columnData) {
std::cout << value << std::endl;
}
阅读全文