Wie man eine ganze Zahl in eine Zeichenkette in C konvertiert

Satishkumar Bharadwaj 12 Oktober 2023
  1. sprintf() Funktion zur Konvertierung einer Ganzzahl in eine Zeichenkette in C
  2. itoa() Funktion zur Konvertierung einer ganzen Zahl in eine Zeichenkette in C
Wie man eine ganze Zahl in eine Zeichenkette in C konvertiert

Dieses Tutorial führt ein, wie man eine Ganzzahl in einen Zeichenkettenwert in C konvertiert. Es gibt verschiedene Methoden zur Konvertierung einer Ganzzahl in eine Zeichenkette in C, wie z. B. die sprintf(), itoa() Funktion.

sprintf() Funktion zur Konvertierung einer Ganzzahl in eine Zeichenkette in C

Wie der Name schon sagt, wird er verwendet, um einen beliebigen Wert in eine Zeichenkette zu drucken. Diese Funktion bietet eine einfache Möglichkeit, eine Ganzzahl in eine Zeichenkette zu konvertieren. Sie arbeitet genauso wie die Funktion printf(), gibt aber keinen Wert direkt auf der Konsole aus, sondern eine formatierte Zeichenkette zurück. Der Rückgabewert wird normalerweise verworfen, aber wenn während der Operation ein Fehler auftritt, gibt sie -1 zurück.

sprintf() Syntax:

int sprintf(char *str, const char *format, [ arg1, arg2, ... ]);
  • str ist ein Zeiger auf einen Char-Datentyp.
  • format wird benutzt, um den Typ der Ausgabe zusammen mit dem Platzhalter anzuzeigen.
  • arg1, arg2 sind ganze Zahlen, die in eine Zeichenkette umgewandelt werden.

Beispielcode von sprintf() zur Konvertierung einer Ganzzahl in eine Zeichenkette in 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;
}

Ausgabe:

Enter a number: 20
You have entered: 20

itoa() Funktion zur Konvertierung einer ganzen Zahl in eine Zeichenkette in C

itoa() ist eine Typ-Casting-Funktion in C. Diese Funktion wandelt eine Ganzzahl in eine null-terminierte Zeichenkette um. Sie kann auch eine negative Zahl konvertieren.

itoa() Syntax

char* itoa(int num, char* buffer, int base)
  • num ist eine ganze Zahl.
  • buffer ist ein Zeiger auf den Datentyp char.
  • base ist eine Konvertierungsbasis. Sie definiert einen ganzzahligen Wert, um ihn in einen Basiswert umzuwandeln, und speichert ihn in einem Puffer. Wenn die Basis 10 ist und der Wert negativ ist, wird der resultierenden Zeichenkette das Minuszeichen (-) vorangestellt.

Beispielcode der Funktion itoa() zur Konvertierung einer Ganzzahl in eine Zeichenkette in 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;
}

Ausgabe:

Enter a number: 15
String value: 15
Warnung
itoa() ist keine ANSI C-Standardfunktion. Abhängig von Ihrer Plattform funktioniert sie möglicherweise nicht auf Ihrem GCC-Compiler.

Verwandter Artikel - C Integer

Verwandter Artikel - C String