eigentlich habe ich gar nichts kompliziertes vor. Ich will nur ASCII Zeichen in eine Datei schreiben. Das klappt auch wunderbar bis auf eine kleine Ausnahme, wenn ich ein Sonderzeichen schreiben will.
Ich brauche in der Datei folgende Zeichenfolge: bb. Wobei für das Zeichen steht, das in einem Hexeditor mit 0a angezeigt wird.
dann kommt in der Datei nicht 62 0a 62 an sondern 62 0d 0a 62. Das stinkt mir ganz gewaltig!!! Im Textmodus des Editors wird 0d 0a als Zeilenumbruch interpretiert. Ich brauch aber unbedingt 0a zwischen den 62 bzw ‚b‘.
dann kommt in der Datei nicht 62 0a 62 an sondern 62 0d 0a 62.
Ja, das liegt daran, dass du deine Datei als Textdatei ausgibst. Unter Windows besteht das Ende einer Datei aus NewLine „\n“ und CarriageReturn „\r“. Das sind die ASCII-Codes 0D und 0A. Wenn du nur eins von beiden ausgibst, dann ergänzt fputs() automatisch zur korrekten Folge 0D 0A.