Fórumok
Sziasztok!
Képernyőre működik a hexában történő kiiratás, fájlba nem. Fordító hiba vagy én bénázok?
//Ez jó:
int tmp = 13;
cout << hex << tmp << endl;
Ez nem:
ofstream of;
//of.setf ( ios::hex, ios::basefield );
//of.setf(ios::showbase);
of.open("probe.txt");
int tmp = 13;
of << hex << tmp;
of.close();
A fájlban megjelenik "1" illetve "3" és nem a "d".
Köszönöm a válaszokat!
Ha így nem működik akkor QFile-t fogok használni.
Hozzászólások
Milyen oprendszert/fordítót használsz? Nálam működik a dolog fedora10 alatt...
Nalam is mukodik.
Az of.stf(ios::hex, ios::basefield) sorral se mukodik? Vagy azt mas okbol kifolyolag nem akarod hasznalni?
QtCreator / mingw fordítót használok Win alatt. Sehogy nem megy, már azt hittem én vagyok a ludas. Sztem Qt-t fogok használni a fájkkezelésre is.
Lehet h fordítót kellene cserélnem? Talán az újabb mingw? Köszi a válaszokat mindkettőtöknek!
A kódod változtatás nélkül jól működik win alatt mingw 4.4.0-val.
Lehet, hogy a 3.4.x-esben (utolsó hivatalos mingw, ez jön Qt-val) még nincs rendesen megírva (wstring egyáltalán nincs win alatt, szóval ez sem lenne meglepő...).
Én a TDM mingw-t használom, Qt-val is, nyugodtan válthatsz. De ha egyébként is Qt-s a project, nyugodtan használd a Qt fájlkezelését...
Workaroundként megpróbálhatod sstream-be betolni, majd a kapott stringet kiíratni a fájlba...
"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee."
-- Ted Ts'o
Működött az új mingw-vel. Köszi!
Közben megtudtam, hogy vagy egy hónapja megjelent a hivatalos mingw 4.4...
Most a projecteim közepén nem váltok, de azért jó tudni...
"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee."
-- Ted Ts'o
Azert csak halkan jegyeznem meg, hogy a fprintf(fd, "%x\n", tmp) erre a celra sokkal rovidebb es megfelelobb, minden pure C volta ellenere.
--
Jó ezt is tudni, köszönöm, csak meg akartam tanulni a c++-os fájlkezelést, mert eddig csak c-s preferáltam.