我可以在不知道文本文件的列数的情况下以2d数组读取文件吗?

时间:2019-01-27 11:16:46

标签: c++

我想读取2d数组中的文件。 文件基本上就是这样

abcedf
ghijkl
mnoqre

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

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

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

使用此程序将继续将所有文件行添加到第一行,因为没有条件,因此我可以使其移至第二行。 我该怎么办?

谢谢您的时间。

1 个答案:

答案 0 :(得分:1)

最好的方法是将整行直接读取为字符串,然后使用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];
    }
  }
}