2

次の方法で std::getline() を使用しています。

 std::fstream verify;
 verify.open(myURI.c_str());
 std::string countingLine;

  if(verify.is_open()){

        std::getline(verify, countingLine);

        std::istringstream iss(countingLine);
        size_t pos;

        // Check for the conventional myFile header.
        pos = iss.str().find("Time,Group,Percent,Sign,Focus");

        if(pos == std::string::npos){//its not there
            headerChk = false;
            this->setStatusMessage("Invalid header for myFile file");
            return 0;
        }

         // loop that does more validation

        iss.clear();

    }

問題は、私が Mac でコーディングしていることです (一部のファイルは、Windows ツールと Apple ツールの両方で変更されます)。一部の行末文字は \n ではなく \r であるため、ファイル文字列が行に分割されることはありません。私がチェックすべき3番目のものもあると思います。複数の endOfLine 文字に対して delim パラメータを設定する例を見つけるのに苦労しています。

誰かがその例や別のアプローチを手伝ってくれたら、それは素晴らしいことです。ありがとう

4

1 に答える 1