首页 > 解决方案 > 我可以在不知道文本文件的列数的情况下读取二维数组中的文件吗?

问题描述

我想读取二维数组中的文件。基本上文件是这样的

abcedf
ghijkl
mnoqre

现在我知道文件的行,但我不知道列,但所有行的列号都是相同的。现在,如果我这样做。

 for (int i = 0; i < row_size; i++){

 fin>>value;
 row[i]=growfunction 
 }

使用这个程序将继续将所有文件行添加到第一行,因为没有条件,所以我可以让它移动到第二行。我能做些什么?

感谢您的时间。

标签: c++

解决方案


最好的方法是直接将整行读入字符串,然后使用 std::strstream 将该行的元素输入到数组中的各个值中。

#include <iostream>
#include <sstream>

int main(int argc, char* argv[]) {

  std::string line;
  while(std::getline(std::cin, line)) {
    int rowSize = line.size();
    char * row = new char[rowSize];
    std::strringstream strm;
    strm << line;
    for (int i = 0; i < rowSize; ++i) {
      strm >> row[i];
    }
  }
}

推荐阅读