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

标签 c++ arrays file

我想要一个 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/

相关文章:

android - 如何使用 logback 从日志文件中删除最旧的行?

多文件 C++ 链表

c++ - 无法在 qt creator (linux) 上链接共享库

c++ - 可变参数模板参数大小(不计算)

c++ - 在capnproto中实现一个等待服务端的客户端连接函数

arrays - Haskell 中具有高性能的可变、随机访问数组/向量

python - 你如何调用numpy数组中位置X的元素?

c++ - 为什么析构函数可以改变常量对象的状态?

c# - 如何从 Kinect 深度数组中获取位置 (x,y)?

java - 为什么现有文件不存在?