• # str what ?

    Posté par . En réponse au message saisie de chaine et correction d'erreur autonome. Évalué à 2.

    Salut, bonne année la santé tout ça ...

    N'est-ce pas strtoul que tu veux utiliser ?
    Dans ce cas là (juste pour chipoter), tu veux une saisie d'un
    unsigned long int

    Quand tu dis que la méthode 2 ne te permet pas de traiter l'erreur, tu veux dire gérer errno ?
    Si tu vérifies que tous les caractères sont des chiffres et que tu ne dépasses pas ULONG_MAX (auquel cas errno serait positionné à ERANGE par strtoul), qu'est-ce qui t'empêche de faire ça à la main ?

    unsigned long resultat=0
    unsigned long limite=0
    Tant que parcours de la chaine
    Si le caractère est compris entre '0' et '9'alors
    result *= 10
    result += valeur portée par le caractère testé
    finsi
    si result < limite alors
    depassement ERANGE et tout le toutim puis on sort
    sinon
    limite = result
    finsi
    fin tant que