Ofstream írási hiba

Ofstream írási hiba
2005-05-04T09:14:16+02:00
2005-05-10T12:07:35+02:00
2022-07-20T01:20:21+02:00
zse_ugynok
Üdv M.!

Van egy ofstream objektumom. Íráskor van, hogy megtelik a diszk és szeretném felismerni az írási hibát. Környezet WINXP/DEVCPP.
jelenleg kb. így néz a kód:

try{ ifstream inputfile("d:/temp/whcfunc.h"); if (!inputfile) { cerr << "Nem lehet megnyitni az input file-t!" << endl; return 2; } ofstream outputfile("d:/temp/teszt.txt", ios_base::app); if (!outputfile) { cerr << "Nem lehet letrehozni az output file-t!" << endl; return 3; } char* temp = new char[255]; while (!inputfile.eof()) { inputfile.getline(temp,255,'\n'); if (temp[0] != '\n' && strlen(temp) > 0) outputfile << temp << endl; } outputfile.close(); inputfile.close(); } catch (exception& e) { cerr << "Hiba: " << e.what() << "!!" << endl; } catch (...) { cerr << "Egyéb error!" << endl; }

ha betelt a diszk nem dob exception-t, legalábbis nem fut semelyik "catch" ágra. Pedig kellene, ugye? Hogy lehet elkapni és kiírni a disk full hibát?
Mutasd a teljes hozzászólást!
Kiiratás előtt és után kérdezd le a put pointer helyét /tellp ()/. A különbségük + 1 a kiírt karakterek száma. Ha ez nem egyezik a beolvasottakkal /gcount ()/, akkor vmi bűzlik.
Mutasd a teljes hozzászólást!

abcd