/ / Wie wird 'n' codiert, wenn im Binärmodus in eine Datei geschrieben wird? - c, Zeichen

Wie wird 'n' beim Schreiben in eine Datei im Binärmodus codiert? - c, Charakter

Wie ist n in eine Datei geschrieben, die von einem C-Programm im Binärmodus geschrieben wurde?

Im Textmodus unter Linux n wird der ASCII-Wert des Zeilenvorschubzeichens (LF) und unter Windows n werden die ASCII-Werte von CR- und LF-Zeichen.

Vielen Dank.

Antworten:

1 für die Antwort № 1

In einem C-Programm "n" ist immer der Einzelzeichenwert 0x0a (es wäre sinnlos zu haben "n" magisch eine Konstante mit zwei Zeichen!). Wenn Sie an einen geschrieben haben Textdatei Unter Windows würde dies in CR LF (0x0D 0x0A) übersetzt werden. Aber wenn du an eine schreibst Binärdatei, wird immer als Byte 0x0A geschrieben, egal welches Betriebssystem Sie verwenden.


1 für die Antwort № 2

"n" ist ein 0x0a.

Diese Worte sollen die Antwort lange genug machen.


1 für die Antwort № 3

In C verwendet der Code einen Zeichensatz. Das ist überwältigend ASCII, aber nicht von C angegeben.

Mit putc("n");wird der erzeugte Code die und n und bilden die Zeichenkodierung des Zeilenvorschubzeichens. In ASCII hat der Zeilenvorschub den Code 10. Also 10 oder 0x0A wird emittiert.

Hätte der Quellcode so etwas geschrieben EBCDIC und dann als solcher kompiliert, wäre der vom Code geschriebene Wert ein anderer. 37?