gpt4 book ai didi

c++ - 读取.txt文件并组织成二维数组

转载 作者:太空宇宙 更新时间:2023-11-04 13:02:03 27 4
gpt4 key购买 nike

我想要一个 50 行 2 列的有点长的文本文件,让用户输入文件名并将其读入二维数组。文本文件是有组织的名称(包括逗号)和数字的组合。
我可以让控制台显示文本文件本身,但是在将数据组织到数组中时我遇到了困难。我正在尝试设计一个涉及 getlinefind 的循环代码,以便程序通过对 .txt 进行排序,在逗号处停止并将该逗号之前的每个字符记录到数组的位置(即 [0] [0])。我知道使用 vector 会更容易,但我想用数组来解决这个问题。

此外,还有将名称(字符串)读入数组(int)的问题。

最佳答案

请测试这段代码:

#include <vector>
#include <fstream>
#include <string>
#include <sstream>
#include <iterator>

template<typename Out>
void split(const std::string &s, char delim, Out result) {
std::stringstream ss;
ss.str(s);
std::string item;
while (std::getline(ss, item, delim)) {
*(result++) = item;
}
}

std::vector<std::string> split(const std::string &s, char delim) {
std::vector<std::string> elems;
split(s, delim, std::back_inserter(elems));
return elems;
}
int main()
{
std::ifstream file("test.txt", std::ios::binary);
std::string a, b;
int c;
std::vector<std::vector<std::string>> arr;
if (file)
{
while (file >> a )
{
std::vector<std::string> v = split(a, ',');
arr.push_back(v);
}
}
return 0;
}

我的测试.txt:

m,2
n,4
o,6
p,8
q,10

关于c++ - 读取.txt文件并组织成二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43730495/

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