0

私は私のc++プログラムのcsvファイルで読んでいます:

abc;def;ghi

10;;10

このコードによって:

    while(getline(in, str, '\n')){
      stringstream ss;
      while(getline(ss, str, ';')){
         line.add(str);
      }
    }

ここで、inは入力ファイル、strは文字列変数、lineは私のコレクションです(のようにvector)。しかしgetline、csvファイルの空の文字列を飛び越えました。

誰かが私も空の文字列を読むのを手伝ってくれますか?

ありがとう :)

4

1 に答える 1

2

ストリームを初期化したことはありません。

これを試して:

#include <string>   // for std::string and std::getline
#include <sstream>  // for std::istringstream

for (std::string jimbob; std::getline(in, jimbob); )
{
    std::istringstream marysue(jimbob);  // !
    for (std::string charlie; std::getline(marysue, charlie, ';'); )
    {
        line.add(charlie);
    }
}
于 2013-03-21T21:26:36.253 に答える