次の方法で 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 パラメータを設定する例を見つけるのに苦労しています。
誰かがその例や別のアプローチを手伝ってくれたら、それは素晴らしいことです。ありがとう