J'essaie d'importer des données à partir d'un fichier dans mon projet, mais j'ai des problèmes pour trouver EOF. Tout d'abord, j'ai utilisé la fonction EOF comme une condition mais après avoir lu this, j'ai essayé de changer le code, mais encore il donne la même erreur. Sil te plait aide moi. MerciUtilisation de la fonction EOF comme condition
#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;
}
ERREUR:
error C2059: syntax error : 'while'
MISE À JOUR: S'il vous plaît laissez-moi savoir si cela est une meilleure mise en œuvre Merci
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
}
Je reçois toujours une erreur ,
ERREUR:
error C2039: 'read' : is not a member of 'std::basic_ofstream<_Elem,_Traits>'
MISE À JOUR: Merci beaucoup. Le code a finalement fixé, voici la mise en œuvre finale,
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
}
Après avoir dépassé les problèmes de syntaxe et de compilation, il y a un sérieux problème de conception: essayer de lire ou écrire des pointeurs bruts comme 'char []' ne fera jamais ce que vous voulez. Lisez à propos de la sérialisation. – aschepler
@ aschepler, Oh! Désolé, j'ai presque oublié d'allouer de la mémoire pour eux. Thankyou :) –
vous incrémentez r_count une à plusieurs fois dans la boucle. try - r_ptr [r_count] = nouvelles chambres; et cette ligne r_ptr [r_count] = new Rooms; avant que la boucle while soit inutile – daven11