gpt4 book ai didi

C++ getline() 函数没有按预期工作

转载 作者:行者123 更新时间:2023-11-28 01:52:32 24 4
gpt4 key购买 nike

int boardDim(ifstream & inputFile, unsigned int x, unsigned int y) {
inputFile.open("test.txt");
if (!(inputFile.is_open())) {
throw fileNotOpen;
}
else {
stringstream output;
string output1;
if (getline(inputFile, output1)) {
output << output1;
if (output >> x) {
if (output >> y) {
return success;
}
return secBoardVarErr;
}
return firstBoardVarErr;
}
return lineErr;
}
cout << x << endl;
cout << y << endl;
}

输入文件包含一行两个 int,“10 11”。

我正在返回 lineErr。我似乎无法弄清楚为什么我的 getline() 函数返回 false。

最佳答案

写入output 流后,您就到了流的末尾。为了能够再次读取数据,您需要查找到流的开头:

output.seekg(0, ios_base::beg);

顺便说一句,output 对于您正在读取的流来说是一个非常糟糕的名称。 :-)

关于C++ getline() 函数没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42426585/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com