001
15.12.2005, 10:50 Uhr
virtual
Sexiest Bit alive (Operator)
|
Da sind IMHO zwei Dinge zu beachten: 1. Solltest Du die Datei nicht im Textmodus öffnen, sondern im Binary mode. Den textmode nutzt du implizit, wenn Du einen anderen willst, mußt du es sagen:
C++: |
dat_ein.open( "Zahlen.dat" , ios_base::in|[b]ios_base::binary[/b]);
|
Wenn Du nämlich den textmodus verwendest, werden alle Betriebssystemspezisichen Zeilenumbrüche in 0x0a umgewandet. Dies macht zwar keinen Unterschied unter UNIX, wohl aber unter Windows (Da wird CR LF in ein einfaches LF umgewandelt), und unter MacOS sieht es ähnlich aus (da wird glaube ich CR in LF gewandelt, wird dir aber ein MacOSer eher sagen können)
2. Wenn Die Datei gelesen wird (unabh. ob binär oder nicht), dann hast Du die Wahl zwischen Formatierten lesen und unformatierten lesen. Die Verwendung vom >> Operator bedeutet formatiertes Lesen. Wenn Du nichts anderes einstellst, werden auf diese Weise zB die Leerzeichen oder newline garnicht so an dich hochgereicht, wie du es ggf. gerne hättest. Nimm besser eine get methode.
Vielleicht eine kleine Anregung: www.fun-soft.de/showtopic.php?threadid=3822 -- Gruß, virtual Quote of the Month Ich eß' nur was ein Gesicht hat (Creme 21) |