用c++写一个读取txt文件第三列的数据并存到vector中,每列之间空格隔开
时间: 2024-11-24 17:43:13 浏览: 26
在C++中,你可以使用`fstream`库来读取文本文件,然后使用`std::getline`函数逐行读取,并使用`std::stringstream`分割每一行的内容。以下是基本步骤:
```cpp
#include <iostream>
#include <fstream>
#include <sstream>
#include <vector>
#include <string>
std::vector<std::string> readDataFromThirdColumn(const std::string& filename) {
std::vector<std::string> data;
std::ifstream file(filename);
if (!file.is_open()) {
std::cerr << "Failed to open the file." << std::endl;
return data;
}
std::string line;
while (getline(file, line)) {
std::stringstream ss(line);
std::string column;
std::getline(ss, column, ' '); // 使用空格作为分隔符
// 跳过前两列,获取第三列数据
for (int i = 0; i < 2; ++i) {
getline(ss, column, ' ');
}
data.push_back(column);
}
file.close();
return data;
}
// 示例用法
int main() {
std::vector<std::string> thirdColumnData = readDataFromThirdColumn("example.txt");
for (const auto& value : thirdColumnData) {
std::cout << value << std::endl;
}
return 0;
}
```
在这个代码中,我们首先打开文件,然后逐行读取。对于每一行,我们将内容传递给`std::getline`函数,每次使用空格作为分隔符。跳过前两列后,将第三列数据添加到`data`向量中。
阅读全文