Présentation

Texte libre

Catégories

Lundi 27 novembre 2006

Le C est considéré par certains comme un super assembleur. Cette réputation vient du fait qu’en C tout doit être fait à la main. La libc implémente une partie des outils dont nous avons besoin. Cependant il est intéressant de les recoder de temps en temps. Aujourd’hui on va s’intéresser à un problème que tous les codeurs ont rencontrer au moins une fois, à savoir comment convertir une chaîne de caractère en entier sans utiliser les fonctions de la libc.


int string2int(const char *s)
{
    int res = 0;

     for (; *s; s++)
    {
       res *= 10;
       res += *s - '0';
    }
    return res;
}

En considérant que s est une chaine de caractères valide, elle se termine alors par le caratère
par Nabil Laadadra publié dans : Programmation
ajouter un commentaire commentaires (3)    créer un trackback recommander
Retour à la page d'accueil

Commentaires

Tu ne respecte pas la nouvelle norme EPITA. :)

return res; ==> return (res);
commentaire n° : 1 posté par : Elakoui Salim (site web) le: 27/11/2006 15:54:30
En meme temps elle change tous les ans
commentaire n° : 2 posté par : Nabil Laadadra (site web) le: 27/11/2006 15:55:51

pourquoi ne pas simplement utiliser la fonction atoi qui fait tres bien le même boulot?

commentaire n° : 3 posté par : Amzil le: 01/06/2007 13:16:55
Parce ce qu'elle est interdite et qu'en l'utilisant tu ne maitrise pas forcement ce qu'il y a deriere. Ce qui est interessant avec cette fonction c'est que tu peux la modifier pour gérer des bases différentes.
réponse de : Nabil Laadadra (site web) le: 01/07/2007 15:11:32

Trackbacks

Aucun trackback pour cet article

Calendrier

Août 2008
L M M J V S D
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
             
<< < > >>

Recherche

W3C

  • Feed RSS 2.0
  • Feed ATOM 1.0
  • Feed RSS 2.0
Blog : Blogzine sur over-blog.com - Contact - C.G.U. - Rémunération en droits d'auteur avec TF1 Network - Signaler un abus