Convertir : (char *) -> (int *) [C ANSI] - C - Programmation
Marsh Posté le 18-09-2004 à 16:21:53
Taz ->
Ok, merci beaucoup, mais le problème qui se pose, c'est que sa va convertir l'hexa en décimal.
Il existe pas une fonction qui fait sa ?
Parce que si je rentre FF il va mettre quoi comme valeur dans le première case ?
Marsh Posté le 18-09-2004 à 16:23:37
t'as regardé ce que ça fait strtol ?
ou alors faut le dire tout de suite si t'es le genre de débutant qui crois que 0xA n'est la égal à 10 décimal ?
Marsh Posté le 18-09-2004 à 16:26:35
Taz ->
Ouai sa ok mais si je met 55, il va me mettre 55 dans la première case et non pas 170.
Marsh Posté le 18-09-2004 à 16:31:40
Taz ->
Je dis une case en supposant que tu converti dans un tableau de int.
Et donc si tu as une chaine qui est "55",
sa va te donner 55 une fois converti en int.
Sauf que moi je veux qu'il y ai 170 puisque "55" c'est de l'hexa.
Marsh Posté le 18-09-2004 à 16:33:25
0x55 ça fait pas 170 en base 10 ...
donc confirmation : t'es bien le deuxième type que j'ai décrit
--
pâture ...
Code :
|
Marsh Posté le 18-09-2004 à 16:36:12
Taz ->
Autant pour moi c'est par là j'était sur 0xAA = 170
mais 0x55 sa fait 85 et dans ton int * tu va récupérer quoi ?
(55 ou 85 ?)
Marsh Posté le 18-09-2004 à 16:39:22
Taz ->
Sa je sais, mais donc sa veut dire que l'utilisateur doit rentrer "0x55" et non "55" ?
Ma question en faite c'est es que si rentre "0x55", sa fait bien la conversion en hexa ?
Marsh Posté le 18-09-2004 à 16:46:26
Taz ->
Merci beaucoup sa marche niquel (désolé j'avais pas vu le radix permettant de changer la base).
1000 merci.
Marsh Posté le 18-09-2004 à 16:46:27
c'est quand tu veux pour te mettre au boulot
tu lis le 'man strtol' tu testes le programmes que je t'ai donné et tu reviens pas avant d'avoir fait ça
Marsh Posté le 18-09-2004 à 16:47:23
Taz ->
C'est bon merci sa fonction, désolé pour le radix.
Encore merci.
Marsh Posté le 18-09-2004 à 16:16:43
Je dois faire un programme où l'utilisateur doit rentrer des octets en hexadécimal en paramètre dans le main (**argc).
Donc ce qui se trouve dans argc, c'est des caractères que je dois faire rentrer dans un tableau de int, le problème c'est que je dois non seulement convertir les char en int, mais en plus il faut faire la conversion en hexadécimal.
Par exemple si l'utilisateur rentre : FF 01, je dois retrouver 255 dans la première case du tableau int et 1 dans la deuxième case.
Es que quelqu'un à une idée ?
PS : En utilisant que du C.