gpt4 book ai didi

c++ - 如何将文本文件读入二维 vector ?

转载 作者:行者123 更新时间:2023-11-28 04:16:14 25 4
gpt4 key购买 nike

我必须将一个包含行和列的文本文件读入一个 vector 中。文本文件可以是任何大小。文本文件示例之一:

T,T,T,F,T
T,T,T,T,T
T,T,T,T,T
T,T,T,T,T
T,T,T,T,T
T,T,T,T,T
T,T,T,T,T

现在,如何将此文本文件上传到二维 vector 上?

到目前为止,我知道我必须使用 vector 的 vector (2d vector ),所以我像这样初始化它:

vector<vector<char> > forest;

我不知道如何从这里前进。我假设我必须使用嵌套的 for 循环,但我对 2d vector 没有太多练习。

我也在考虑使用 getline 并将每一行作为字符串读取,或者使用 .get 函数并将每个字符视为 while 中的一个字符 循环?

最佳答案

您可以使用getline 将文件逐行读入字符串。对于您读取的每个字符串,迭代其字符以构建行 vector 来填充您的森林:

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

int main() {
std::string line;
std::ifstream infile("file.txt");
std::vector<std::vector<char> > forest;

while (std::getline(infile, line)) {
std::vector<char> row;

for (char &c : line) {
if (c != ',') {
row.push_back(c);
}
}

forest.push_back(row);
}

for (std::vector<char> &row : forest) {
for (char &c : row) {
std::cout << c << ' ';
}

std::cout << '\n';
}

return 0;
}

输出:

T T T F T
T T T T T
T T T T T
T T T T T
T T T T T
T T T T T
T T T T T

关于c++ - 如何将文本文件读入二维 vector ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56554212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com