Comment convertir une chaîne de caractères en entier en C
-
Fonction
atoi()
pour convertir une chaîne de caractères en un entier en C -
Fonction
strtol()
pour convertir une chaîne de caractères en un entier en C -
strtoumax()
Fonction pour convertir une chaîne de caractères en un entier en C
Cet article présente différentes méthodes dans un langage de programmation C pour convertir une chaîne de caractères en un entier. Il existe plusieurs méthodes pour convertir une chaîne de caractères en un entier en C comme atoi()
, strtoumax()
et strol()
.
Fonction atoi()
pour convertir une chaîne de caractères en un entier en C
La fonction atoi()
convertit une chaîne de caractères en un entier dans le langage de programmation C. La fonction atoi()
néglige tous les espaces blancs au début de la chaîne, convertit les caractères après les espaces blancs, puis s’arrête lorsqu’elle atteint le premier caractère non numérique.
La fonction atoi()
retourne la représentation entière de la chaîne de caractères.
Nous devons inclure l’en-tête <stdlib.h>
pour utiliser la fonction atoi()
.
Syntaxe de atoi()
int atoi(const char *str);
*str
est un pointeur vers une chaîne de caractères à convertir en un entier.
atoi()
Exemples de codes
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {
int value;
char str[20];
strcpy(str, "123");
value = atoi(str);
printf("String value = %s, Int value = %d\n", str, value);
return (0);
}
Production :
String value=123, Int value=123
Fonction strtol()
pour convertir une chaîne de caractères en un entier en C
La fonction strtol()
convertit une chaîne de caractères en un entier long dans le langage de programmation C. La fonction strtol()
omet tous les caractères d’espacement au début de la chaîne, après avoir converti les caractères suivants comme faisant partie du nombre, puis s’arrête lorsqu’elle trouve le premier caractère qui n’est pas un nombre.
La fonction strtol()
retourne la représentation de la valeur entière longue d’une chaîne de caractères.
Nous devons inclure l’en-tête <stdlib.h>
pour utiliser la fonction atoi()
.
Syntaxe de strtol()
long int strtol(const char *string, char **laststr, int basenumber);
*string
est un pointeur vers une chaîne de caractères à convertir en un long entier.**laststr
est un pointeur qui indique où s’arrête la conversion.basenumber
est la base avec l’intervalle de[2, 36]
.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {
char str[10];
char *ptr;
long value;
strcpy(str, " 123");
value = strtol(str, &ptr, 10);
printf("decimal %ld\n", value);
return 0;
}
Production :
decimal 123
strtoumax()
Fonction pour convertir une chaîne de caractères en un entier en C
La fonction strtoumax()
interprète le contenu d’une chaîne comme étant sous la forme d’un nombre entier de la base spécifiée. Elle omet tout caractère d’espacement jusqu’au premier caractère non blanc. Elle prend ensuite autant de caractères que possible pour former une représentation valide du nombre entier de la base et les convertit en une valeur entière.
strtoumax()
retourne la valeur entière correspondante d’une chaîne de caractères. Cette fonction retourne 0 si la conversion n’est pas effectuée avec succès.
strtoumax()
Syntaxe
uintmax_t strtoumax(const char* string, char** last, int basenumber);
*string
est un pointeur vers une chaîne de caractères à convertir en un long entier.**last
est un pointeur qui indique où s’arrête la conversion.basenumber
est la base avec l’intervalle de[2, 36]
.
Exemple de strtoumax()
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {
char str[10];
char *ptr;
int value;
strcpy(str, " 123");
printf("The integer value:%d", strtoumax(str, &ptr, 10));
return 0;
}
Production :
The long integer value: 123
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn FacebookArticle connexe - C String
- Tronquer la chaîne en C
- Concaténer la chaîne et l'Int en C
- Couper une chaîne en C
- Utilisez la fonction strdup en C
- Utilisez la fonction strsep en C
- Comparer les chaînes de caractères en C