Convertir int en chaîne en c

Convertir int en chaîne en c
«Les types de données de cordes sont partout dans la programmation moderne, des langages de programmation de bas niveau aux langages de haut niveau qui font un grand effort pour résumer les concepts fondamentaux. Par conséquent, vous vous retrouverez à travailler avec des chaînes dans n'importe quel langage de programmation plus de fois qu'autrement.

À cette fin, nous discuterons des méthodes rapides et très adaptées aux débutants pour convertir un entier en une chaîne dans le langage de programmation C."

Méthode 1 - Convertir INT en chaîne à l'aide de la fonction sprintf

La fonction sprintf est l'une des fonctions que vous pouvez utiliser pour convertir une valeur entière en une chaîne. Comme son nom l'indique, la fonction prendra n'importe quelle valeur et l'imprimera dans une chaîne.

Il est très similaire à la fonction printf. Mais au lieu d'imprimer la valeur dans la norme, la fonction renvoie une chaîne formatée que nous pouvons stocker dans une variable et utiliser plus tard.

La syntaxe de fonction est comme indiqué ci-dessous:

int sprintf (char * str, const char * format, [arg1, arg2,…]);

La fonction accepte trois paramètres principaux:

  1. STR - Cela spécifie un pointeur vers un type de données charbon.
  2. Format - Le paramètre de format vous permet de spécifier le type de sortie avec un espace réservé.
  3. Args - Ce paramètre spécifie les valeurs entières dans lesquelles se convertir en une chaîne.

Vous remarquerez que la fonction renvoie un type int. En effet, il renvoie une chaîne formatée qui est rejetée, et une valeur de -1 si une erreur se produit.

Voyons cette fonction en action.

#inclure
int main()
int var = 100;
charint_str [20];
sprintf (int_str, "% d", var);
printf ("var:% s", int_str);
return0;

Dans le code ci-dessus, nous commençons par importer les fichiers d'en-tête nécessaires. Pour la fonction sprint (), nous avons besoin du fichier d'en-tête d'entrée et de sortie standard uniquement.

Nous ouvrons ensuite la fonction principale et déclarons deux variables. Le premier est la valeur entière que nous souhaitons convertir en une chaîne.

La variable suivante est le tableau de caractères que nous utiliserons pour stocker la valeur de la chaîne une fois que nous aurons converti le INT en une chaîne.

Nous utilisons ensuite la fonction de sprint et passons le type de char, le format et l'int comme paramètres.

Enfin, nous pouvons imprimer la chaîne résultante à l'aide de la fonction printf. La sortie résultante est montrée:

$ gcc à_string.c
$ ./un.dehors
Var: 100

Méthode 2 - Convertir INT en chaîne avec la fonction itoa () (non standard)

Il existe une autre fonction non standard en C que vous pouvez utiliser pour convertir un int en une chaîne. C'est une fonction de lait simple de type. Il est apparu pour la première fois dans le livre de langage de programmation C.

Cependant, comme l'indique le livre, cette fonction n'est pas standard et ne gère pas très bien les entiers négatifs.

Puisqu'il n'est pas standard, tenter de compiler la fonction dépendra fortement de votre système d'exploitation et si la fonction est disponible.

Cependant, nous sommes des développeurs et l'expérimentation est dans notre nature.

La syntaxe suivante montre comment fonctionne la fonction itoa ().

char * itoa (int num, char * tampon, int base)

La fonction prend trois paramètres principaux:

  1. num - Ce paramètre fait référence à la valeur int que vous souhaitez convertir en une chaîne.
  2. Buffer - Le paramètre de tampon est un pointeur vers un type de données char pour maintenir la chaîne convertie.
  3. base - fait référence à la base de conversion.

La fonction renvoie alors une chaîne de l'entier spécifié.

Le code ci-dessous illustre comment utiliser la fonction itoa () pour convertir un int en une chaîne.

#inclure
#inclure
#inclure
int main()
int var = 100;
charint_string [20];
itoa (var, int_string, 10);
printf ("var:% s \ n", int_string);
return0;

Ici, nous spécifions la conversion de l'int à la base 10.

Fermeture

Dans cet article, nous avons couvert deux méthodes principales pour convertir un INT en une chaîne en C. Il est bon de s'en tenir à la fonction sprintf car il s'agit d'une fonction standard et peut être exporté à travers les systèmes.

Merci d'avoir lu et de codage heureux!!