gpt4 book ai didi

c++ - 在使用 seekg 和 tellg 之前将数据流式传输到文件时出现奇怪的程序行为

转载 作者:行者123 更新时间:2023-11-30 04:56:20 34 4
gpt4 key购买 nike

我会尽量说清楚:每当我尝试在我的“do”循环和我的指针读取和写入之前将数据流式传输到我的文件时,我的程序就会出错!它似乎在运行一个无限循环。

fstream fileHandler; //Can also be done via constructor fstream fileHanlder("myData.txt", ios::out);
//fileHandler.open("myData.txt", ios::out);//Default is in AND out

fileHandler.open("test.txt", ios::in | ios::binary | ios::out);

if (fileHandler.is_open()) {

//fileHandler << "anything" <---HERE IS THE PROBLEM
cout << "The file has been opened and edited properly.";

fileHandler.seekg(0, ios::end);
streampos sizeOfFile = fileHandler.tellg();//tellg returns type streampos
fileHandler.seekg(0, ios::beg);

do{
string buffer;
fileHandler >> buffer;
cout << buffer << endl;

}while(!fileHandler.eof());

if ((fileHandler.rdstate()^ifstream::eofbit) == 0) {
fileHandler.clear();
cout << fileHandler.tellg() << endl;
}


fileHandler.close();

} else cout << "There was a problem opening the file!";

我的文件只有一个简单的短语。

编辑:根据新信息修改标题感谢您的关注!

最佳答案

出于某种原因删除二进制标志修复了它。

关于c++ - 在使用 seekg 和 tellg 之前将数据流式传输到文件时出现奇怪的程序行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52618689/

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