ofstream: Ausgabe formatieren
-
Morgn,
wie kann man erreichen, dass beim Schreiben in eine Datei immer zwei Stellen angezeigt werden? Hier hab ich vor allem auch bei der Hexadezimal-Darstellung probleme - 0x0 wird immer angezeigt statt 0x00.
Bei der dezimalen Ausgabe würde ich gern %3d verwenden, so dass
0, 0, 123, 234,
ausgegeben wird (die Zahlen also untereinander schön geordnet stehen).
Meine Ausgabe in die Datei lautet bis jetzt so:
unsigned short ausgabe=0; //..... ofstream myfile((const char *)test.c, ios::out); //... myfile << hex << showbase << ausgabe << ", "; //bzw, für dezimal myfile << dec << showbase << ausgabe << ", ";
Gruß
GJM
-
0x0 wird immer angezeigt statt 0x00
warum nimmste nicht 'fprintf'? das ist kürzer und einfacher:
fprintf (file, "%02x", ausgabe);
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum ANSI C in das Forum C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Weite setzen:
Funktion - http://www.cplusplus.com/reference/iostream/ios_base/width.html
Manipulator - http://www.cplusplus.com/reference/iostream/manipulators/setw.htmlFüllzeichen setzen:
Funktion - http://www.cplusplus.com/reference/iostream/ios/fill.html
Manipulator - http://www.cplusplus.com/reference/iostream/manipulators/setfill.htmlFalls du nicht weisst, was Manipulatoren sind oder dich allgemein noch die Ein- und Ausgabe in C++ interessiert, könntest du mal diesen Artikel durchlesen:
http://magazin.c-plusplus.net/artikel/Ein- und Ausgabe in CPlusPlus - IO-StreamsHat noch ein paar mehr im Magazin.
Grüssli