So konvertieren Sie Integer in Char in C

Satishkumar Bharadwaj 12 Oktober 2023
  1. Fügen Sie '0' hinzu, um ein int in ein Zeichen umzuwandeln
  2. Weisen Sie int einen Wert zu char Wert
  3. sprintf() Funktion zur Konvertierung eines Int in ein Zeichen
So konvertieren Sie Integer in Char in C

Dieses Tutorial führt ein, wie man einen ganzzahligen Wert in einen Zeichenwert in C umwandelt. Jedes Zeichen hat einen ASCII-Code, ist also bereits eine Zahl in C. Wenn Sie eine Ganzzahl in ein Zeichen umwandeln wollen, fügen Sie einfach '0' hinzu.

Fügen Sie '0' hinzu, um ein int in ein Zeichen umzuwandeln

Die '0' hat einen ASCII-Wert von 48. Wir müssen also ihren Wert zu dem ganzzahligen Wert addieren, um sie in das gewünschte Zeichen umzuwandeln. Das Programm ist wie unten dargestellt:

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

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

  return 0;
}

Die Ausgabe ist:

The character value is : w

Unten ist ein Programm, das eine Ganzzahl nur zwischen 0 und 9 in das Zeichen umwandelt.

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

Ausgabe:

The value is: 7

Ein weiteres Programm, das einen ganzzahligen Wert in ein Zeichen umwandelt, ist wie unten dargestellt:

#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;
}

Ausgabe:

stringValue0
stringValue1
stringValue2
stringValue3
stringValue4
stringValue5
stringValue6
stringValue7
stringValue8
stringValue9

Weisen Sie int einen Wert zu char Wert

Eine andere Möglichkeit, einen ganzzahligen Wert in einen Zeichenwert umzuwandeln, besteht darin, einem Zeichenwert einen ganzzahligen Wert wie unten beschrieben zuzuweisen: Der Zeichenwert, der einem ganzzahligen Wert entspricht, wird hier ausgedruckt.

#include <stdio.h>

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

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

  return 0;
}

Ausgabe:

The character value : A

Unten finden Sie eine weitere Möglichkeit, einen ganzzahligen Wert in einen Zeichenwert umzuwandeln: Hier wird der Wert typisiert, so dass der Wert 67 in den entsprechenden ASCII-Wert konvertiert wird.

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

  return 0;
}

Ausgabe:

The character value = C

sprintf() Funktion zur Konvertierung eines Int in ein Zeichen

Die Funktion sprintf() arbeitet genauso wie die Funktion printf(), aber anstatt die Ausgabe an die Konsole zu senden, gibt sie die formatierte Zeichenkette zurück.

Das erste Argument für die Funktion sprintf() ist ein Zeiger auf die Zielzeichenkette. Die restlichen Argumente sind die gleichen wie bei der Funktion printf().

Syntax der Funktion sprintf()

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

Wo,

  • strValue ist ein Zeiger auf den Datentyp char.
  • format wird benutzt, um den Typ der Ausgabe zusammen mit dem Platzhalter anzuzeigen.
  • [arg1, arg2 ...] sind die zu konvertierende(n) Ganzzahl(en).

Die Funktion schreibt die Daten in die Zeichenkette, auf die strValue zeigt, und gibt die Anzahl der Zeichen zurück, die in strValue geschrieben wurden, mit Ausnahme des Nullzeichens. Der Rückgabewert wird im allgemeinen verworfen. Wenn während der Operation ein Fehler auftritt, gibt sie -1 zurück. Das Programm zur Umwandlung einer Ganzzahl in ein Zeichen sieht wie folgt aus:

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

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

  return 0;
}

Ausgabe:

The character value = H

Verwandter Artikel - C Integer

Verwandter Artikel - C Char