我以下列方式使用 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工具和苹果工具修改)。一些行尾字符是 \r 而不是 \n,所以我的文件字符串永远不会分成几行。我相信还有第三个我应该检查。我找不到为多个 endOfLine 字符设置 delim 参数的示例。
如果有人可以帮助该示例或其他方法,那就太好了。谢谢