So konvertieren Sie einen String in eine Ganzzahl in C
-
atoi()
Funktion zur Konvertierung einer Zeichenkette in eine Ganzzahl in C -
strtol()
Funktion zur Konvertierung einer Zeichenkette in eine ganze Zahl in C -
strtoumax()
Funktion zur Umwandlung von String in eine Ganzzahl in C
Dieser Artikel stellt verschiedene Methoden in einer C-Programmiersprache vor, um eine Zeichenkette in eine ganze Zahl zu konvertieren. Es gibt verschiedene Methoden zur Umwandlung einer Zeichenkette in eine Ganzzahl in C wie atoi()
, strtoumax()
und strol()
.
atoi()
Funktion zur Konvertierung einer Zeichenkette in eine Ganzzahl in C
Die Funktion atoi()
wandelt in der Programmiersprache C eine Zeichenkette in eine ganze Zahl um. Die Funktion atoi()
vernachlässigt alle Leerzeichen am Anfang der Zeichenkette, wandelt die Zeichen nach den Leerzeichen um und hält dann an, wenn sie das erste Nicht-Zahlen-Zeichen erreicht.
Die Funktion atoi()
gibt die ganzzahlige Darstellung der Zeichenkette zurück.
Wir müssen den <stdlib.h>
Header einschließen, um die atoi()
Funktion zu verwenden.
atoi()
Syntax
int atoi(const char *str);
*str
ist ein Zeiger auf eine Zeichenkette, die in eine Ganzzahl umgewandelt werden soll.
atoi()
Beispiel-Codes
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {
int value;
char str[20];
strcpy(str, "123");
value = atoi(str);
printf("String value = %s, Int value = %d\n", str, value);
return (0);
}
Ausgabe:
String value=123, Int value=123
strtol()
Funktion zur Konvertierung einer Zeichenkette in eine ganze Zahl in C
Die Funktion strtol()
wandelt in der Programmiersprache C eine Zeichenkette in eine lange Ganzzahl um. Die Funktion strtol()
lässt alle Leerzeichen am Anfang der Zeichenkette weg, nachdem sie die nachfolgenden Zeichen als Teil der Zahl umgewandelt hat, und stoppt dann, wenn sie das erste Zeichen findet, das keine Zahl ist.
Die Funktion strtol()
gibt die Long-Integer-Wert-Darstellung einer Zeichenkette zurück.
Wir müssen den <stdlib.h>
Header einschließen, um die atoi()
Funktion zu verwenden.
strtol()
Syntax
long int strtol(const char *string, char **laststr, int basenumber);
*string
ist ein Zeiger auf eine Zeichenkette, die in eine lange Ganzzahl umgewandelt werden soll.**laststr
ist ein Zeiger, der anzeigt, wo die Konvertierung aufhört.basenumber
ist die Basis mit dem Bereich von[2, 36]
.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {
char str[10];
char *ptr;
long value;
strcpy(str, " 123");
value = strtol(str, &ptr, 10);
printf("decimal %ld\n", value);
return 0;
}
Ausgabe:
decimal 123
strtoumax()
Funktion zur Umwandlung von String in eine Ganzzahl in C
Die Funktion strtoumax()
interpretiert den Inhalt einer Zeichenkette als eine ganze Zahl der angegebenen Basis. Sie lässt jedes Leerzeichen bis zum ersten Nicht-Leerzeichen weg. Dann nimmt sie so viele Zeichen wie möglich, um eine gültige Basis-Ganzzahlendarstellung zu bilden, und wandelt sie in einen ganzzahligen Wert um.
strtoumax()
gibt den entsprechenden ganzzahligen Wert einer Zeichenkette zurück. Diese Funktion gibt 0 zurück, wenn die Konvertierung nicht erfolgreich durchgeführt wurde.
strtoumax()
Syntax
uintmax_t strtoumax(const char* string, char** last, int basenumber);
*string
ist ein Zeiger auf eine Zeichenkette, die in eine lange Ganzzahl umgewandelt werden soll.**last
ist ein Zeiger, der anzeigt, wo die Konvertierung aufhört.basenumber
ist die Basis mit dem Bereich von[2, 36]
.
strtoumax()
Beispiel
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {
char str[10];
char *ptr;
int value;
strcpy(str, " 123");
printf("The integer value:%d", strtoumax(str, &ptr, 10));
return 0;
}
Ausgabe:
The long integer value: 123
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn FacebookVerwandter Artikel - C String
- Erstellen formatierte Zeichenfolgen in C
- Nullterminierte Zeichenketten in C
- Scanf String mit Leerzeichen in C
- Zeichenkette in C abschneiden
- Trimmen einer Zeichenkette in C
- Verkettung von String und Int in C