Assigner des valeur à un "unsigned char"

Résolu
supers03 Messages postés 106 Date d'inscription mardi 6 janvier 2004 Statut Membre Dernière intervention 1 décembre 2008 - 6 janv. 2005 à 10:17
supers03 Messages postés 106 Date d'inscription mardi 6 janvier 2004 Statut Membre Dernière intervention 1 décembre 2008 - 7 janv. 2005 à 12:49
Bonjour à tous

J'ai un petit(ou gros en fait) problème dans mon programme : j'ai dans mon code cette ligne :
BYTE PATCH1[] = "\x90\x90\x90";
et le programme marche... seulement j'aurrai aimé pouvoir saisir la chaine de caractère moi même avec un scanf :
BYTE PATCH1[] = ma_variable;
J'ai essayé beaucoup de méthode (pointeur, chaine de caractère, tableau) mais j'ai toujours une erreur lors de la compilation et donc j'aimerai savoir sous quelle forme doit être ma variable...

PS : voici l'une de ces erreurs : "Cannot convert 'char *' to 'unsigned char[]'"

je n'ai peu etre pas donné suffisament de precision, donc si vous avez des question je completerai ...

MERCI d'avance

Sylvain
A voir également:

6 réponses

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
6 janv. 2005 à 10:29
il faut donner une taille au tableau si l'affectation n'est pas immédiate. Utiliser ensuite memcpy pour recopier la chaîne dans le tableau de BYTE.

BYTE PATCH1[64] ;
char* s = "Ma chaîne";
memcpy(PATCH1, s, strlen(s));
3
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
6 janv. 2005 à 15:08
si je comprend :
par exemple tu tape 63 (0x3F) et tu voudrais avoir l'équivalent de "\x3f" dans ton tableau de BYTE.

=> très simple, stocke directement l'entier dan le tableau de BYTE
int d;
scand("%d", &d);
BYTE PATCH1[64] ;
PATCH1[0] = (BYTE)d;
3
supers03 Messages postés 106 Date d'inscription mardi 6 janvier 2004 Statut Membre Dernière intervention 1 décembre 2008
6 janv. 2005 à 12:46
MERCI beaucoup, ça a l'air de marcher ....

en tout cas c'est cool d'avoir répondu si vite

Sylvain
0
supers03 Messages postés 106 Date d'inscription mardi 6 janvier 2004 Statut Membre Dernière intervention 1 décembre 2008
6 janv. 2005 à 15:03
Bonjour à tous

Je m'explique : je voudrai pouvoir saisir un nombre en décimal, puis le sauvegarder sous la forme "\x8D" par exemple ... j'ai esayer de traduire le nombre decimal en héxa puis de lui rajouter "\x" devant malheuresement cela prend 4 charactère et non 1 seul comme j'aimerai faire ... y'a-t-il une solution ???

Merci d'avance

Sylvain
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
supers03 Messages postés 106 Date d'inscription mardi 6 janvier 2004 Statut Membre Dernière intervention 1 décembre 2008
6 janv. 2005 à 15:10
oups petite erreur de manip, ce devait etre un nouveau post et pas la suite du message ... donc si vous avez la réponse au message precedent, merci de repondre dans le post suivant :
http://cppfrance.com/forum.v2.aspx?ID=365491
0
supers03 Messages postés 106 Date d'inscription mardi 6 janvier 2004 Statut Membre Dernière intervention 1 décembre 2008
7 janv. 2005 à 12:49
Super merci c'est exactement ça que je cherchai et ça marche

Sylvain
0
Rejoignez-nous