我使用getline函数从std :: ifstream检索数据,并在到达文件末尾时从Xcode收到SIGABRT错误。我意识到在它的当前实现中放入这个函数似乎是多余的,但是我在它工作之后添加了更多的行处理。这是代码,函数在while循环中不断被调用。
bool setRead(std::string& read, std::ifstream& inStream) {
std::string data = "";
if (std::getline(inStream, data)) {
read = data;
return true;
}
return false;
}
我认为当getline达到eof时,if语句将评估为false,然后我的函数将返回false。谢谢你的帮助!