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

supers03 106 Messages postés mardi 6 janvier 2004Date d'inscription 1 décembre 2008 Dernière intervention - 6 janv. 2005 à 10:17 - Dernière réponse : supers03 106 Messages postés mardi 6 janvier 2004Date d'inscription 1 décembre 2008 Dernière intervention
- 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
ymca2003 2070 Messages postés mardi 22 avril 2003Date d'inscription 3 juillet 2006 Dernière intervention - 6 janv. 2005 à 10:29
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));

Merci ymca2003 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

Commenter la réponse de ymca2003
Meilleure réponse
ymca2003 2070 Messages postés mardi 22 avril 2003Date d'inscription 3 juillet 2006 Dernière intervention - 6 janv. 2005 à 15:08
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;

Merci ymca2003 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

Commenter la réponse de ymca2003
supers03 106 Messages postés mardi 6 janvier 2004Date d'inscription 1 décembre 2008 Dernière intervention - 6 janv. 2005 à 12:46
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
supers03 106 Messages postés mardi 6 janvier 2004Date d'inscription 1 décembre 2008 Dernière intervention - 6 janv. 2005 à 15:03
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
supers03 106 Messages postés mardi 6 janvier 2004Date d'inscription 1 décembre 2008 Dernière intervention - 6 janv. 2005 à 15:10
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
supers03 106 Messages postés mardi 6 janvier 2004Date d'inscription 1 décembre 2008 Dernière intervention - 7 janv. 2005 à 12:49
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.