Unterschied zwischen Byte und Char in C

8

Ich frage mich, warum ich kein Beispiel aus dem Buch zusammenstellen kann. Ich vereinfache das Beispiel hier, um zu vermeiden, ein Beispiel aus einem urheberrechtlich geschützten Buch zu veröffentlichen.

%Vor%

Wenn ich mit g ++ kompiliere, bekomme ich einen Fehler,

%Vor%

Das Programm funktioniert einfach durch Ersetzen von BYTE mit char, aber ich muss etwas falsch machen, da das Beispiel aus einem Buch kommt.

Bitte helfen Sie, das Problem aufzuzeigen. Danke.

    
idazuwaika 20.10.2009, 06:04
quelle

1 Antwort

27

BYTE ist kein Teil der C-Sprache oder der C-Standardbibliothek, daher hängt es vollständig vom System ab, ob es definiert ist, nachdem nur die standardmäßige Header-Datei stdio.h eingefügt wurde.

Auf vielen Systemen, die ein Makro BYTE definieren, ist es oft ein unsigned char . Die Konvertierung von const char* in unsigned char* würde eine explizite Umwandlung erfordern.

    
Charles Bailey 20.10.2009, 06:08
quelle

Tags und Links