gpt4 book ai didi

c++ - 使用 EOF 函数作为条件

转载 作者:搜寻专家 更新时间:2023-10-31 00:20:18 24 4
gpt4 key购买 nike

我正在尝试从项目中的文件导入数据,但找不到 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;
}

错误:

error C2059: syntax error : '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
}

我仍然遇到错误,

错误:

error C2039: 'read' : is not a member of '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
}

最佳答案

看来你有一个或两个语法问题:

  1. 您有函数或 main 之外的代码(while 和 infile 命令),需要将它们放入 main 或函数中。

  2. 你的第二个 while 需要一个do(do{....}while(1),而且它永远运行

  3. 您的所有变量都在 main 之外定义。这使得它们成为全局变量,这是一件尽可能避免的事情。它们也应该移动到 main

  4. ofstream 用于输出到文件,你想要一个 ifstream 从文件中获取输入

关于c++ - 使用 EOF 函数作为条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6292018/

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