我有这个:
std::fstream fullscreenData("variables/fullscreenData.txt", std::ios::in | std::ios::out);
while (std::getline(fullscreenData, *streamString)) {
*streamString = static_cast<std::string>("Fullscreen: false");
if (*streamString == static_cast<std::string>("Fullscreen: false")) {
fullscreenData << "Fullscreen: true\n";
}
}
fullscreenData.close();
我正在测试adn我可以使用“while”和“if”来读取txt,以及“fullscreenData&lt;&lt;”写入txt。 但是,如果我一起使用它不起作用,txt中没有任何内容。
有人知道我做错了吗?
答案 0 :(得分:0)
您的数据类型存在问题。
你可能想尝试这样的事情:
std::streampos position_line_begin(0);
std::string text;
while (std::getline(fullScreenData, text))
{
if (text == "Fullscreen: false")
{
fullScreenData.seekp(position_line_begin);
fullScreenData << "Fullscreen: true \n";
break;
}
position_line_begin = fullScreenData.tellg();
}
有更好的方法,但这证明了算法。