Maison  >  Article  >  développement back-end  >  Quelle est la fonction en langage C pour convertir une chaîne en un type de données entier ?

Quelle est la fonction en langage C pour convertir une chaîne en un type de données entier ?

烟雨青岚
烟雨青岚original
2020-06-30 12:01:348609parcourir

La fonction est : atoi(), qui est déclarée comme "int atoi(char *str);". La fonction atoi est de convertir une chaîne en entier et de la renvoyer ; il y a une limite de taille pour le nombre correspondant à la chaîne saisie par atoi (liée à la taille du type int). une erreur de -1 peut être signalée.

Quelle est la fonction en langage C pour convertir une chaîne en un type de données entier ?

Il existe deux manières de convertir une chaîne en entier en langage C.

int i=atoi(str);

ou

sscanf(str,"%d" ,&i);

1 Utilisez la fonction atoi.

La fonction d'atoi est de convertir une chaîne en un entier et de la renvoyer.

atoi (qui signifie ascii en entier) est une fonction qui convertit les chaînes en entiers et est utilisée dans les programmes informatiques et les logiciels de bureau. La fonction

int atoi(const char *nptr) analysera la chaîne nptr du paramètre et ignorera les caractères d'espacement précédents (tels que les espaces, l'indentation de tabulation), etc. Si nptr ne peut pas être converti en int ou si nptr est une chaîne vide, 0 [1] sera renvoyé.

Remarque particulière : cette fonction nécessite que la chaîne en cours de conversion soit comprise comme un nombre décimal. Il existe une limite de taille pour le nombre correspondant à la chaîne saisie par atoi (liée à la taille du type int). S'il est trop grand, une erreur -1 peut être signalée.

La déclaration est

int atoi(char *str);

Par exemple, atoi("1234") ; will Renvoie le type entier 1234.

Pour appeler atoi, vous devez référencer le fichier d'en-tête stdio.h

2 et utiliser sscanf.

sscanf est similaire à la fonction d'entrée formatée standard scanf, mais la source n'est pas une entrée standard, mais une chaîne.

Utilisez sscanf pour gérer des chaînes plus complexes.

Par exemple, string char * str = "a=1, b=2";

define int a, b; après

vous pouvez utiliser

sscanf(str,"a=%d, b=%d",&a,&b);

pour extraire les valeurs a et b Après calcul, a=1, b=2.

Pour utiliser sscanf, vous devez également référencer le fichier d'en-tête stdio.h.

Tutoriel recommandé : "Langage C"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn