2017-06-05 5 views
1

Wie kann ich etwas in diesem Format speichern: "0xff" zu einem Char-Array nach dem Deklarieren des Arrays. Ich werde zeigen, was ich darunter verstehe.Wie kann ich 0xFF auf ein Zeichen in C speichern?

Wenn ein Code wie dieses schreiben, funktioniert gut:

int main (void){ 
     unsigned char array[] = {0xff,0xa4}; 
     return 0; 
} 

Aber, was ich brauche ist etwas komplizierter. Ich muss etwas wie 0xff dem Array zuweisen, nachdem ich es bereits deklariert habe. Wie kann ich das zum funktionieren bringen und das gleiche Ergebnis wie in dem obigen Code erhalten? Mit dem folgenden Code bekomme ich weiterhin den Fehler "multi-character character constant [-Wmultichar]" und "large integer implicitly truncated to unsigned type [-Woverflow]".

int main(void){ 
     unsigned char array[2]; 
     array[0] = '0xff'; 
     array[1] = '0xa4'; 
     return 0; 
} 
+0

Warum haben Sie sie plötzlich in einfache Anführungszeichen gesetzt? – harold

+0

@Yunnosch können Sie genauer sein? Wo verwende ich '\ xff'? –

+0

Siehe Antwort unten. – Yunnosch

Antwort

3

Verwenden Sie array[0] = '\xff';, um ein einzelnes Zeichen auf ein hexadezimal numerisches Zeichen zu setzen.
Oder array[0] = 0xff; wie Sie im ersten Teil Ihres Codes, erfolgreich.

+0

Prost Mate! Ich habe verstanden, was ich falsch gemacht habe –

+0

:-) Fühlen Sie sich frei, diese Antwort zu akzeptieren. https://stackoverflow.com/help/someone-answers @NodaDeCaju – Yunnosch

Verwandte Themen