Comment convertir un nombre entier en chaîne de caractères en C

Satishkumar Bharadwaj 12 octobre 2023
  1. Fonction sprintf() pour convertir un entier en une chaîne en C
  2. Fonction itoa() pour convertir un entier en une chaîne de caractères en C
Comment convertir un nombre entier en chaîne de caractères en C

Ce tutoriel présente la manière de convertir un entier en une chaîne de caractères en C. Il existe différentes méthodes pour convertir un entier en une chaîne de caractères en C, comme les fonctions sprintf(), itoa().

Fonction sprintf() pour convertir un entier en une chaîne en C

Comme son nom l’indique, il est utilisé pour imprimer toute valeur dans une chaîne de caractères. Cette fonction permet de convertir facilement un entier en chaîne de caractères. Elle fonctionne de la même manière que la fonction printf(), mais elle n’imprime pas une valeur directement sur la console mais retourne une chaîne formatée. La valeur retournée est généralement rejetée, mais si une erreur se produit pendant l’opération, elle retourne -1.

Syntaxe de sprintf() :

int sprintf(char *str, const char *format, [ arg1, arg2, ... ]);
  • str est un pointeur vers un type de données char.
  • format est utilisé pour afficher le type de sortie avec le caractère de remplacement.
  • arg1, arg2 sont des entiers à convertir en une chaîne de caractères.

Exemple de code de sprintf() pour convertir un entier en une chaîne de caractères en C

#include <stdio.h>

int main(void) {
  int number;
  char text[20];

  printf("Enter a number: ");
  scanf("%d", &number);

  sprintf(text, "%d", number);

  printf("\nYou have entered: %s", text);

  return 0;
}

Production :

Enter a number: 20
You have entered: 20

Fonction itoa() pour convertir un entier en une chaîne de caractères en C

itoa() est une fonction de fonte de type en C. Cette fonction convertit un entier en une chaîne de caractères à terminaison nulle. Elle peut également convertir un nombre négatif.

Syntaxe

char* itoa(int num, char* buffer, int base)
  • num est un nombre entier.
  • buffer est un pointeur vers le type de données des caractères.
  • base est une base de conversion. Elle définit une valeur entière pour la convertir en une valeur de base et la stocke dans un tampon. Si la base est 10 et que la valeur est négative, la chaîne résultante sera précédée du signe moins (-).

Exemple de code de la fonction itoa() pour convertir un entier en une chaîne en C

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(void) {
  int number, l;
  char string[20];

  printf("Enter a number: ");
  scanf("%d", &number);

  itoa(number, string, 10);

  printf("String value = %s\n", string);

  return 0;
}

Production :

Enter a number: 15
String value: 15
Avertissement
itoa() n’est pas une fonction de la norme ANSI C. Il peut ne pas fonctionner sur votre compilateur GCC en fonction de votre plate-forme.

Article connexe - C Integer

Article connexe - C String