我正试图从项目中的文件导入数据,但在查找EOF时遇到问题。首先,我使用EOF函数作为条件,但在阅读了这个之后,我尝试更改代码,但仍然出现相同的错误。请帮帮我。感谢
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
class Rooms;
class Guest;
class MeetingRoomGuest;
Rooms* r_ptr[999];
int r_count=0;
ofstream infile("new.txt",ofstream::binary);
while(infile.read((char *)(&r_ptr[r_count]),sizeof(Rooms)))
{
r_count++;
}
infile.close();
int main ()
{
// some code here
return 0;
}
错误:
错误C2059:语法错误:"while"
更新:请让我知道这是否是一个更好的实现?感谢
int main()
{
r_ptr[r_count]= new Rooms;
while(infile.read((&r_ptr[r_count]),sizeof(Rooms)))
{
r_ptr[++r_count]= new Rooms;
r_count++;
}
infile.close();
//some code here
}
我仍然有一个错误,
错误:
错误C2039:"read":不是"std::basic_ofstream<_Elem,_Traits>'
更新:非常感谢。代码终于修复了,这里是最后的实现,
int main()
{
r_ptr[r_count]= new Rooms;
while(infile.read((char *)(&r_ptr[r_count]),sizeof(Rooms)))
{
r_count++;
r_ptr[r_count]= new Rooms;
}
infile.close();
// some work
}
似乎有一两个语法问题:
-
你有一个函数或main之外的代码(while和infile命令),它们需要放入main或函数中。
-
你的第二次需要一个
do
(do{....}while(1)
,它也永远运行 -
您的所有变量都是在
main
之外定义的。这使得它们成为全局变量,这是一件需要尽可能避免的事情。它们应该在main
和内移动 -
ofstream
用于输出到文件,您希望ifstream
从文件获得输入
在主之外不能有一段时间
int main ()
{
ofstream infile("new.txt",ofstream::binary);
while(infile.read((char *)(&r_ptr[r_count]),sizeof(Rooms)))
{
r_count++;
}
infile.close();
// some code here
return 0;
}