Qual é a diferença entre sscanf ou atoi para converter uma string em um número inteiro?
gcc 4.4.4 c89
O que é melhor para converter uma string em um valor inteiro.
Eu tentei 2 métodos diferentes atoi e sscanf. Ambos funcionam como esperado.
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;
}
ou usando atoi
device_num = atoi(digits);
Eu estava pensando que o sscanf seria melhor, pois você pode verificar se há erros. No entanto, atoi não faz nenhuma verificação.