atoi 对于数字 0 (0x30) 返回零 (0x00) 如果出现错误,它还会返回零 (0x00)。 我如何辨别哪个是哪个?
// In both QT and GCC i is:
int i = atoi("0"); // 0 (should be success)
int i = atoi("NON"); // 0 (should be failure)
int i = atoi("1"); // 1 (success)
atoi()
函数将字符串转换为int
,所以它的使用如下:
#include <stdio.h>
#include <stdlib.h> // For atoi()
int main() {
int number = atoi("1234");
printf("The integer value is: %d\n", number);
return 0;
}
它只是将字符串内部的内容转换为数字。
如果要显示字符的 ASCII 代码,可以这样做:
#include <stdio.h>
int main()
{
int i = '0';
// integer:
printf("%d", i);
printf("\n");
// hexadecimal:
printf("0x%x", i);
return 0;
}