Les partenaires publicitaires:

Comment convertir une chaîne en int c

Dans "C", les chaînes de caractères sont stockées dans un tableau de codes de caractères et manipulés comme des caractères. Si vos chaînes de caractères représentent des nombres entiers, les convertir en nombres entiers avant d'effectuer des opérations mathématiques, telles que l'addition et la soustraction. Par exemple, vous ne pouvez pas ajouter les chaînes de caractères "123" et "5" et attendre "128". La chaîne de caractères "123" est un tableau de caractères à quatre positions contenant les codes de caractères ASCII pour '1' ', 2' ', 3' et "NULL." Heureusement, il existe une fonction de la bibliothèque standard, "atoi", qui convertit les chaînes de caractères en nombres entiers en C.

Instructions

  1. Inclure les fichiers d'en-tête pour l'entrée standard et la bibliothèque de sortie et la bibliothèque standard ainsi que le fichier d'en-tête limites. Rappelez-vous que les directives incluent commencer dans la première colonne "C"

    comprendre
    comprendre
    comprendre
  2. Commencez votre programme principal et déclarer une variable pour votre chaîne de caractères et un pour votre entier résultant. Si votre machine est une application 32 bits, la gamme pour les entiers est de --2, 147, 483, 648-2, 147, 483 et 647. Ainsi, un tableau de 11 la position est assez grand pour gérer la chaîne de caractères souhaitez convertir.

    int main ()

    {

    carboniser ma_chaine [11];




    int nombre;

  3. Demandez à l'utilisateur pour une chaîne de caractères à convertir. Donnez la plage valide pour les entiers sur votre système de sorte que la valeur saisie est pas trop grand ou trop petit pour votre système à manipuler. Les constantes INT_MIN et INT_MAX à partir du fichier d'en-tête limites spécifient la plage valide pour les entiers sur votre système.

    printf ("S'il vous plaît entrer une chaîne numérique entre% d et% d. n", INT_MIN, INT_MAX);

    gets (ma_chaine);

  4. Convertir la chaîne avec la fonction atoi et stocker le résultat dans votre variable int. La fonction atoi renvoie la valeur convertie, un zéro si il n'y a pas de conversion, ou de la INT_MIN constante ou INT_MAX si la chaîne de caractères était hors de portée.



    Numéro = atoi (my_string);

  5. Imprimer la chaîne d'origine et l'entier résultant. Utilisez le code d'un% pour la chaîne et un% d pour l'entier. Pour vérifier la chaîne a été converti, effectuer une opération mathématique simple sur la valeur résultante et imprimer la réponse. Terminez votre programme principal en renvoyant un code de succès et en entrant votre clôture}.

    printf ("L'original chaîne% s est l'entier% d. Ajout de 6 donne% d n",

     my_string, numéro, numéro + 6) -

    return 0;

    }

  6. Conseils Avertissements

    • Si le résultat de atoi est INT_MIN ou INT_MAX, il est possible que votre utilisateur a entré une valeur hors de la plage entier valide. Vous pouvez ajouter une instruction if pour vérifier la valeur de votre entier retourné et imprimer un message si elle est égale à INT_MIN ou INT_MAX. La fonction atoi arrête de traiter une chaîne si elle rencontre un caractère non valide. Par exemple, si l'utilisateur entre "245,32", atoi ne ramasser le "245" depuis un '.' est pas un caractère valide pour un entier.
» » » » Comment convertir une chaîne en int c