Écriture de itoa

Soyez le premier à donner votre avis sur cette source.

Vue 10 588 fois - Téléchargée 478 fois

Description

Comme le titre l'annonce, voici mon implémentation de la fonction itoa.
Cette fonction n'étant pas standard, j'ai décidé de l'écrire et de la mettre a disposition des personnes qui ont un compilateur n'ayant pas la fonction itoa (exemple: sous linux aucun compilateur ne l'accèpte, dev cpp ne l'accèpte pas par défaut). Cette source n'est pas la source finale. Il me reste la phase de test, de comparaison avec la fonction itoa existante en terme de performance ainsi que la phase d'optimisation si possible. J'ai déja quelques idées...

Conclusion :


Tout est dans le zip, la source est bien commentée, il y a une main pour montrer l'utilisation de la fonction...

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
Une dernière avant ce soir:
renomme les fonctions spécialisées:
twitoa(), twultoa(), twtohex(), etc...
évitera confusion avec itoa() standard.
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
oui, pointeur sur le NULL final de chaine.
ça permet:
char buf[40];
itoa(n2, itoa(n1, buf));
par exemple, benef du strcat (à la con, chuuutttt).
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
ben oui, si j'écris (ou REécris) une fonction, c'est pour obtenir le mieux possible. Si sprintf me suffit, aucun besoin de fonction perso.

A quoi sert la chaine[MAX] dans ta fonction ???
void ReverseStr(char *psz)
{
char *c = psz, a;
while(*c) c++;
while(psz < --c) {a *psz; *psz++ *c; *c = a;}
}
quan on voit que le renversement se limite à "while(psz < --c)" autant écrire direct sur le buffer passé en param, sans compter qu'on s'épargne le count inutile en ce cas.
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
ouaip...


me rappelle bnitoa tes remarques, BruNews (étrange, non ^^)

voir:

http://www.cppfrance.com/codes/SPEED-POUR-ULTOA-ITOA-WIN32-VCPLUSPLUS-ASM_10349.aspx
Messages postés
63
Date d'inscription
mercredi 7 février 2007
Statut
Membre
Dernière intervention
14 juin 2007

Donc si j'ai bien compris, ce qu'il faut que je retourne, c'est le pointeur qui pointe sur le '\0' de ma chaine?
Afficher les 11 commentaires

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.