Assigner des valeur à un "unsigned char" [Résolu]

Messages postés
106
Date d'inscription
mardi 6 janvier 2004
Dernière intervention
1 décembre 2008
- - Dernière réponse : supers03
Messages postés
106
Date d'inscription
mardi 6 janvier 2004
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
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Dernière intervention
3 juillet 2006
13
3
Merci
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));

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 119 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ymca2003
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Dernière intervention
3 juillet 2006
13
3
Merci
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;

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 119 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ymca2003
Messages postés
106
Date d'inscription
mardi 6 janvier 2004
Dernière intervention
1 décembre 2008
0
Merci
MERCI beaucoup, ça a l'air de marcher ....

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

Sylvain
Commenter la réponse de supers03
Messages postés
106
Date d'inscription
mardi 6 janvier 2004
Dernière intervention
1 décembre 2008
0
Merci
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
Commenter la réponse de supers03
Messages postés
106
Date d'inscription
mardi 6 janvier 2004
Dernière intervention
1 décembre 2008
0
Merci
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
Commenter la réponse de supers03
Messages postés
106
Date d'inscription
mardi 6 janvier 2004
Dernière intervention
1 décembre 2008
0
Merci
Super merci c'est exactement ça que je cherchai et ça marche

Sylvain
Commenter la réponse de supers03

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.