2017-06-05 1 views
1

Comment puis-je stocker quelque chose dans ce format: "0xff" à un tableau char après avoir déclaré le tableau. Je vais démontrer ce que je veux dire ci-dessous.Comment puis-je stocker 0xFF à un caractère en C?

Lors de l'écriture d'un code tel que cela fonctionne très bien:

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

Mais, ce que j'ai besoin est un peu plus compliqué. J'ai besoin d'assigner quelque chose comme 0xff au tableau après l'avoir déjà déclaré. Comment puis-je obtenir cela pour obtenir le même résultat que dans le code ci-dessus? Avec le code ci-dessous je continue à recevoir l'erreur "multi-character character constant [-Wmultichar]" et "large integer implicitly truncated to unsigned type [-Woverflow]".

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

Pourquoi les avez-vous soudainement mis entre guillemets? – harold

+0

@Yunnosch pouvez-vous être plus précis? Où puis-je utiliser '\ xff'? –

+0

Voir la réponse ci-dessous. – Yunnosch

Répondre

3

Utilisez array[0] = '\xff'; pour définir un caractère unique sur un nombre hexadécimal.
Ou array[0] = 0xff; comme vous l'avez fait dans la première partie de votre code, avec succès.

+0

Salutations mec! J'ai compris ce que j'ai fait de mal –

+0

:-) N'hésitez pas à accepter cette réponse. https://stackoverflow.com/help/someone-answers @NodaDeCaju – Yunnosch