riporto soltanto la parte di cui si è parlato, escludendo le altre funzioni .Mi sembra un po' difficile "valutare" la soluzione senza vederla, no? :rolleyes:
Per modificare la parte riguardante l'eof (perchè come mi hai spiegato non è corretto fare in quel modo, anche se non mi da nessun problema nel caso specifico) cosa mi consigli di fare?
Codice:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
int r=0,n,i,h;
char c;
fstream openfile;
int buffer;
char nomefile[]="libri.txt";
struct libro
{ char autore[42];
char titolo[42];
char editore[42];
char genere[42];
struct data_p
{char giorno[6];
char mese[6];
int anno;
}data;
double prezzo;
char pr[2];
};
struct libro elenco[10];
openfile.open(nomefile,ios::in);
if(openfile)
{
while(!openfile.eof())
{
openfile.getline(elenco[i].autore,42,',');
openfile.getline(elenco[i].titolo,42,',');
openfile.getline(elenco[i].editore,42,',');
openfile.getline(elenco[i].genere,42,',');
openfile.getline(elenco[i].data.giorno,4,'/');
openfile.getline(elenco[i].data.mese,4,'/');
openfile>>elenco[i].data.anno;
openfile>>elenco[i].prezzo;
openfile>>elenco[i].pr;
i++;
}
}
else{
cout<<"Errore apertura file"<<endl;
exit(1);
}
openfile.close();
system("pause");
return 0;
}
Ultima modifica: