gcc 4.4.4 c89
Что лучше преобразовать строку в целочисленное значение.
Я пробовал 2 разных метода atoi и sscanf. Обе работают как ожидалось.
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;
}
или используя atoi
device_num = atoi(digits);
Я думал, что sscanf будет лучше, так как вы можете проверить наличие ошибок. Однако atoi не делает никаких проверок.