Har lite problem att spara ner mina objekt i en fil. jag vill spara dom i binärform så inläsning av dom i ett senare skede blir lättare.
jag har provat följande:
ofstream smf("email.ema", ios::binary);
Email *epost = new Email();
int i = 0;
if(smf.is_open()) { // kollar om filströmmen är öppen
for(;i<(int)mejl.size();i++){
epost->copyEmail(mejl[i]);
smf.write(&epost, sizeof(Email));
}
smf.close();
}
men får kompileringsfel enligt följande:
mainwin.cpp: In member function `void MainWin::avsluta()':
mainwin.cpp:84: no matching function for call to `std::basic_ofstream<char,
std::char_traits<char> >::write(Email**, unsigned int)'
/usr/include/g++-v3/bits/ostream.tcc:370: candidates are:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>::write(const _CharT*, int) [with _CharT = char, _Traits =
std::char_traits<char>]
Kan någon se vad som är fel?
Skulle också gärna vilja ha förslag på hur jag ska läsa in objektet igen
Denna kod räcker om du bara vill spara objektet binärt:
För att öppna den igen gör du på samma sätt, bara att ofstream objektet istället ska vara av typen ifstream (tror jag att den heter)
Nu vet ju inte jag vad du vill göra, men detta är ett enkelt sätt att spara och läsa binärt.
Verkar inte som om jag kan få det att funka med inläsningen hur jag än gör. I alla exempel jag har sett så är det en struct som man skriver ner till filen men det jag har är ett objekt. Jag tvingas nog överge binärsskrivning/läsning pga tidsbrist, men tack för hjälpen
En strukt är som en array, dvs en samling data fast åtskillt enligt storleken på de ingående komponenterna. Lika med en klass. Du gör antagligen nåt annat fel. För lite mer exempel på hur göra, kolla -> http://www.mta.ca/~amiller/cs2621/cppfiles.html
258 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25