Accueil > Forum > > > > atoi() pour hexa (WIN32)
atoi() pour hexa (WIN32)
jeudi 28 juillet 2005 à 00:39:48 |
atoi() pour hexa (WIN32)

Urgo
|
Bonsoir, j'aimerais savoir s'il existe un équivalent de la fonction atoi() POUR la base 16? exemple: char* szNumber = "123"; int i = atoi(szNumber); Ceci marche impec... MAIS: char* szNumber = "123FB8C"; int i = atoi(szNumber); Ne marche pas (normal)... Merci de bien vouloir m'aider car j'ai sûrement mal cherché... Urgo
|
|
jeudi 28 juillet 2005 à 00:50:25 |
Re : atoi() pour hexa (WIN32)

BruNews
|
Réponse acceptée !
Un truc comme ça t'irait ?
DWORD HexaToDecimal(const char* pszHexa) { DWORD ret = 0, t = 0, n = 0; const char *c = pszHexa; while(*c && (n < 16)) { if((*c >= '0') && (*c <= '9')) t = (*c - '0'); else if((*c >= 'A') && (*c <= 'F')) t = (*c - 'A' + 10); else if((*c >= 'a') && (*c <= 'f')) t = (*c - 'a' + 10); else break; n++; ret *= 16; ret += t; c++; if(n >= 8) break; } return ret; }
ciao... BruNews, MVP VC++
|
|
jeudi 28 juillet 2005 à 01:04:10 |
Re : atoi() pour hexa (WIN32)

Urgo
|
T'es un chef, MERCI !
Ciao Urgo
|
|
jeudi 28 juillet 2005 à 10:06:02 |
Re : atoi() pour hexa (WIN32)

whikie
|
Bonjour a tous,
je profite de ce post pour poser une question en rapport...
Voila je voudrais savoir s'il existe une fonction pour afficher un decimal en binaire.
Je connais deja la fonction pour afficher des decimals en hexadecimal :
printf("%X",variable) permet de convertir une variable en hexadecimal
mais je ne trouve pas l'equivalent pour le binaire
Merci d'avance.
|
|
jeudi 28 juillet 2005 à 10:18:38 |
Re : atoi() pour hexa (WIN32)

BruNews
|
prépare dans une chaine avant et affiche ensuite (moi et les consolades...): char chaine[36]; itoa(nbr, chaine, 2); ton printf de la chaine ici.
ciao... BruNews, MVP VC++
|
|
jeudi 28 juillet 2005 à 10:44:19 |
Re : atoi() pour hexa (WIN32)
|
vendredi 29 juillet 2005 à 07:50:22 |
Re : atoi() pour hexa (WIN32)

bipcpp
|
Méthode utilisant le c++ et les string de la STL (extrait des fonctions Bip) : Prototypes des fonctions : int BG_StringToInt (const string sString, const int iBase = 10); string BG_IntToString (const int iInt, const int iBase = 10); Fonctions : #include <string> #include <sstream> //----------------------------------------------------------------- //! BG_IntToString : Convert an integer into a string ! //----------------------------------------------------------------- //! iInt : int number to convert ! //! iBase : base of the number into the string (default = 10) ! //! ! //! return : number into a string ! //----------------------------------------------------------------- string BG_IntToString (const int iInt, const int iBase) { int iTemp; ostringstream sStream; // use decimal if base is ko if (iBase != 10 && iBase != 16 && iBase != 8 && iBase != 2) iTemp = 10; else iTemp = iBase; sStream << setbase (iTemp) << iInt; return sStream.str(); } //----------------------------------------------------------------- //! BG_StringToInt : Convert a string to an integer ! //----------------------------------------------------------------- //! sString : string contaning integer value ! //! iBase : base of the number into the string (default = 10) ! //! ! //! return : integer value ! //----------------------------------------------------------------- int BG_StringToInt (const string sString, const int iBase) { int iBGint; int iTemp; // return zero if string is empty if (sString == "") return 0; // use decimal if base is ko if (iBase != 10 && iBase != 16 && iBase != 8 && iBase != 2) iTemp = 10; else iTemp = iBase; istringstream sStream (sString); sStream >> setbase (iTemp) >> iBGint; return iBGint; }
|
|
lundi 22 février 2010 à 20:48:25 |
Re : atoi() pour hexa (WIN32)

scoubidou944
|
Sans vouloir réinventer la roue (ni faire du necro-posting) :
TCHAR strBuff[256] = _TEXT("0x123456"); // 1193046 in decimal
LONG val = 0;
_stscanf_s(strBuff, _TEXT("%x"), &val);
TCHAR strBuff2[256] = _TEXT("123456"); // 1193046 in decimal
LONG val2 = 0;
_stscanf_s(strBuff2, _TEXT("%x"), &val2);
val = val2 = 1193046 // (en décimal donc)
----------------------------
C++ forever
C# amateur
|
|
lundi 22 février 2010 à 21:59:25 |
Re : atoi() pour hexa (WIN32)

BruNews
|
oui oui mais comme toutes les fonctions à nbr d'auguments indéterminés c'est lent 'by design', voire très lent.
ciao...
BruNews, MVP VC++
|
|
mardi 23 février 2010 à 15:14:38 |
Re : atoi() pour hexa (WIN32)

scoubidou944
|
OSEF, c'est portable, rapide à écrire & propre.
On fait des benchs après quand tout fonctionne.
Et au final, est ce que cela vaut le coup d'optimiser une fonction qui sera appelée peut-être que 20 fois ?
Est ce que cela faut le coup si demain il veut faire une conversion en Octal et devra écrire une nouvelle fonction ?
Je pense que l'optim' est ailleurs ;p
----------------------------
C++ forever
C# amateur
|
|
Cette discussion est classée dans : char, win32, hexa, atoi, sznumber
Répondre à ce message
Sujets en rapport avec ce message
la fonction atoi [ par fiorellafatma ]
[^^pirate]salut à tous j'ai fait cette instruction mais cela a affiché un message d'erreur pourquoi j=atoi(*chr)-'a' il m'a dit que atoi ne peut pas c
Char ascii en hexa [ par Stutu ]
Bonjour à vous, Je souhaiterais avoir de l'aide de votre part, je m'explique j'ai une liaison RS232 sur laquelle je reçois des trame, chaque trame est
problème de conversion unsigned const char* => const char [ par razuki ]
Bonjour, Je reviens vers vous car je n'ai pas trouvé de solutions à mon problème de conversion de const char* en unsigned const char*. reinterpret_ca
la pile [ par juni10 ]
j ai besoin d aide j ai cette structure struct article { char code Article[10]; char nom Article [30]; int quantite; double prix unitaire; }; j ai
application console Win32/ projet win32 [ par lolitatou ]
salut :) Quelle est la difference entre une application console win32 et un projet win32 ? Est ce que je peux utiliser les api windows dans une appl
lecture fichier C [ par ayarikhaoula ]
salut tout le monde je souhaite développez une fonction en c : qui lit un fichier ligne par ligne et stoque son contenu dans une chaine de carractère.
char [10] dans char [16][10] [ par Stutu ]
Bonjour à tous, Je m'explique j'ai un char buffer[10] que je voudrais mettre dans un char temp[16][10] car je vais devoir mettre 16 fois buffer[10] d
les fichier en C [ par abdobergach ]
bonjour j'ai un erreur qui je connais pas pouquoi qlq'un m'aider svp,voila l'eerreur: error C2664: 'CreateFileW'*: impossible de convertir le paramètr
erreur en execution [ par marooh ]
bonjour, j'ai ecrit un code qui à partir d'un fichier charge les données dans un arbre binaire de recherche. ça compile et tout mais en executant ça s
La mémoire ne peut pas être "written" [ par Nao13090 ]
Bonjour à tous ! Dans le cadre de mon projet de gestion de tournoi, j'ai créer via Qt une fenêtre visant à éditer les participants ajoutés au préala
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
RE : SAC A DOS RE : SAC A DOS par hadjkaddour
Cliquez pour lire la suite par hadjkaddour
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|