IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

aide sur la fonction strtol


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 127
    Par défaut aide sur la fonction strtol
    Bonjour à tous

    Pourriez vous me donner quelques conseils concernant la fonction
    long int strtol (const char *nptr, char **endptr, int base);
    Le dernier argument int base me pose quelques problemes de compréhension, si vous avez un lien ou une explication à me fournir, elle sera la bienvenue.

    Merci à tous
    A bientot
    Rémi

  2. #2
    Membre chevronné
    Avatar de NewbiZ
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2002
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2002
    Messages : 184
    Par défaut
    C'est la base de numération du nombre que tu veux récupérer.
    Tu peux mettre :
    0 (ou 10) pour du décimal
    16 pour de l'hexadécimal
    2 pour du binaire
    8 pour de l'octal
    534 pour du cinq-cent-trente-quatrial.

  3. #3
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par NewbiZ
    C'est la base de numération du nombre que tu veux récupérer.
    Tu peux mettre :
    534 pour du cinq-cent-trente-quatrial.
    A ma connaissance, c'est limité à 36...

  4. #4
    Membre chevronné
    Avatar de NewbiZ
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2002
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2002
    Messages : 184
    Par défaut
    Aucune idée, définit comme ca chez moi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    _CRTIMP long __cdecl	strtol	(const char*, char**, int);
    La doc spécifie que n'importe quel caractère a part ceux considérés par isspace() sont valides.

  5. #5
    Membre Expert
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Par défaut
    Citation Envoyé par NewbiZ
    Aucune idée, définit comme ca chez moi :
    Euh non, l'idee c'est de regarder la doc, par les entetes standard. Et man strtol dit bien:
    Citation Envoyé par man strtol
    The strtol() function converts the initial part of the string in nptr
    to a long integer value according to the given base, which must be
    between 2 and 36 inclusive, or be the special value 0.

  6. #6
    Membre chevronné
    Avatar de NewbiZ
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2002
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2002
    Messages : 184
    Par défaut
    Je m'incline :>

  7. #7
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par remi77
    Pourriez vous me donner quelques conseils concernant la fonction
    long int strtol (const char *nptr, char **endptr, int base);
    Le dernier argument int base me pose quelques problemes de compréhension, si vous avez un lien ou une explication à me fournir, elle sera la bienvenue.
    La chaine de caractères peut représenter une valeur numérique codée en n'importe quelle base de 2 à 36. (pas 64, malheureusement).
    Pouquoi 36, parce que

    • 0-9 : 10 chiffres
    • A-Z : 26 lettres
    soit un total 36 signes (0-Z) nécessaires à la représentation d'un nombre en base 36.

    Exemple de représentations :
    • "101101101" : binaire
    • "7201345" octal
    • "AB3F2D" : hexadécimal
    • "12Z" : base 36
    On doit donc indiquer la base pour que la conversion se fasse bien. (Ben oui, "123", c'est en quelle base ? On n'en sait rien.)

    Par contre, si on met la base 0, un conversion automatique est faite en fonction du format :
    • 123 ->décimal
    • 0123 ->octal
    • 0x123 ->hexadécimal.

    le pointeur dont on a passé l'adresse en paramètre pointe sur le dernier caractère non converti (ou 0).

Discussions similaires

  1. aide sur les fonctions (débutant)
    Par tregont dans le forum Débuter
    Réponses: 4
    Dernier message: 22/01/2006, 21h03
  2. Où trouver l'aide sur les fonctions de l'API Windows ?
    Par psidonio dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 08/11/2005, 14h28
  3. [CR]Aide sur les fonction de date et plage de date.
    Par Job dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 08/11/2005, 09h19
  4. Besoin d'aide sur une fonction
    Par PrinceMaster77 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/08/2005, 17h40
  5. Besoin d'aide sur les fonction d'interbase
    Par BOUBOU81 dans le forum InterBase
    Réponses: 2
    Dernier message: 05/11/2004, 10h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo