5

複数の列があり、変数の種類が異なるファイルを読みたいと思います。列の数は不明ですが、2 ~ 4 の間です。たとえば、次のファイルがあります。

  • 文字列整数
  • 文字列 int 文字列 double
  • 文字列 int 文字列
  • 文字列 int 文字列 double

ありがとう!

最初に書かれた 4 または 5 ではなく、2 または 5 の間に列の数を修正するように編集しました。

4

1 に答える 1

5

最初に次の行を読むことができますstd::getline

std::ifstream f("file.txt");
std::string line;
while (std::getline(f, line)) {
...
}

そして、この行をstringstream

std::string col1, col3;
int col2;
double col4;
std::istringstream ss(line);
ss >> col1 >> col2;
if (ss >> col3) {
    // process column 3
    if (ss >> col4) {
        // process column 4
    }
}

列に異なる型が含まれている可能性がある場合は、最初に文字列を読み取ってから、適切な型を判断する必要があります。

于 2013-03-04T16:51:10.813 に答える