gcc 4.4.4 c89
将字符串转换为整数值更好.
我尝试了两种不同的方法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;
}
Run Code Online (Sandbox Code Playgroud)
或使用atoi
device_num = atoi(digits);
Run Code Online (Sandbox Code Playgroud)
我认为sscanf会更好,因为你可以检查错误.但是,atoi没有做任何检查.