Was ist der Unterschied zwischen sscanf oder atoi, um einen String in eine Ganzzahl umzuwandeln?

gcc 4.4.4 c89

Was ist besser, um eine Zeichenfolge in einen ganzzahligen Wert zu konvertieren.

Ich habe 2 verschiedene Methoden atoi und sscanf ausprobiert. Beide funktionieren wie erwartet.

char digits[3] = "34";
int device_num = 0;

if(sscanf(digits, "%d", &device_num) == EOF) {
    fprintf(stderr, "WARNING: Incorrect value for device\n");
    return FALSE;
}

oder mit atoi

device_num = atoi(digits);

Ich dachte, dass sscanf besser wäre, da Sie nach Fehlern suchen können. Atoi prüft jedoch nicht.

Antworten auf die Frage(12)

Ihre Antwort auf die Frage