Comment convertir un nombre entier en caractère en C

Satishkumar Bharadwaj 12 octobre 2023
  1. Ajoutez "0" pour convertir un int en char
  2. Affecter une valeur int à une valeur char
  3. Fonction sprintf() pour convertir un Int en un Char
Comment convertir un nombre entier en caractère en C

Ce tutoriel présente la manière de convertir une valeur entière en une valeur de caractère en C. Chaque caractère a un code ASCII, donc c’est déjà un nombre en C. Si vous voulez convertir un entier en un caractère, ajoutez simplement "0".

Ajoutez "0" pour convertir un int en char

Le '0' a une valeur ASCII de 48. Nous devons donc ajouter sa valeur à la valeur entière pour le convertir en le caractère désiré. Le programme est le suivant :

#include <stdio.h>
int main(void) {
  int number = 71;

  char charValue = number + '0';
  printf("The character value is :%c", charValue);

  return 0;
}

Production :

The character value is : w

Voici un programme qui convertira un entier en caractère uniquement entre 0 et 9.

#include <stdio.h>
int main(void) {
  int number = 7;
  char charValue = number + '0';
  printf("The value is :%c", charValue);
  return 0;
}

Production :

The value is: 7

Un autre programme pour convertir une valeur entière en un caractère est comme ci-dessous :

#include <stdio.h>

int main(void) {
  char charValue[] = "stringValueX";
  int anyNumber;
  for (anyNumber = 0; anyNumber < 10; ++anyNumber) {
    charValue[11] = anyNumber + '0';
    puts(charValue);
  }
  return 0;
}

Production :

stringValue0
stringValue1
stringValue2
stringValue3
stringValue4
stringValue5
stringValue6
stringValue7
stringValue8
stringValue9

Affecter une valeur int à une valeur char

Une autre façon de convertir une valeur entière en une valeur de caractère est d’attribuer une valeur entière à une valeur de caractère comme ci-dessous : La valeur en caractères correspondant à une valeur entière est imprimée ici.

#include <stdio.h>

int main(void) {
  int number = 65;
  char charvalue = number;

  printf("The character value :%c", charvalue);

  return 0;
}

Production :

The character value : A

Vous trouverez ci-dessous une autre façon de convertir une valeur entière en une valeur de caractère : Ici, la valeur est saisie, de sorte que la valeur 67 est convertie en la valeur ASCII correspondante.

#include <stdio.h>
int main(void) {
  int number = 67;
  char charValue = (char)number;
  printf("The character value = %c", charValue);

  return 0;
}

Production :

The character value = C

Fonction sprintf() pour convertir un Int en un Char

La fonction sprintf() fonctionne de la même manière que la fonction printf() mais au lieu d’envoyer la sortie à la console, elle retourne la chaîne formatée.

Le premier argument de la fonction sprintf() est un pointeur vers la chaîne cible. Les autres arguments sont les mêmes que ceux de la fonction printf().

Syntaxe de sprintf()

int sprintf(char *strValue, const char *format, [ arg1, arg2, ... ]);

Où,

  • *strValue est un pointeur vers le type de données de la caricature.
  • *format est utilisé pour afficher le type de sortie avec le caractère de remplacement.
  • arg1, arg2... sont les entiers à convertir.

La fonction écrit les données dans la chaîne pointée par strValue et retourne le nombre de caractères écrits dans strValue, en excluant le caractère nul. La valeur de retour est généralement rejetée. Si une erreur se produit pendant l’opération, elle retourne -1. Le programme pour convertir un entier en un caractère est le suivant :

#include <stdio.h>
int main(void) {
  int number = 72;
  char charValue[1];

  sprintf(charValue, "%c", number);
  printf("The character value = %s", charValue);

  return 0;
}

Production :

The character value = H

Article connexe - C Integer

Article connexe - C Char