我正在尝试从项目中的文件导入数据,但我无法找到 EOF 。首先,我使用 EOF函数作为条件,但在阅读this之后,我尝试更改了代码但仍然给出了相同的错误。请帮帮我。 感谢
#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&lt; _Elem,_Traits&gt;'
的成员
更新 非常感谢。代码终于修复了,这是最终的实现,
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
}
答案 0 :(得分:3)
你不能在主要的
之外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;
}
答案 1 :(得分:3)
您似乎有一两个语法问题:
你有一个函数或main之外的代码(while和infile命令),它们需要放入main或函数中。
您的第二个需要do
(do{....}while(1)
,也可以永久运行
所有变量都在main
之外定义。这使它们成为全局变量,尽可能避免这种情况。它们应该移到main
内
ofstream
用于输出到文件,您希望ifstream
从文件中获取输入