使用安全的字符串转换函数,如strtol()或strtoll(),这些函数可以检测并报告任何转换错误。同时,在使用任何输入数据之前进行输入验证和输入过滤。以下是使用strtoll()的示例代码:
#include
#include
int main()
{
char str[30] = "2147483648";
char *ptr;
long ret;
ret = strtol(str, &ptr, 10);
printf("The number is %ld\n", ret);
if (ret == 0)
{
printf("Invalid input, please enter a valid integer.\n");
}
return 0;
}
在此示例中,使用strtoll()函数将字符串'2147483648”转换为长整型。在进一步使用转换结果之前,使用if语句检查返回值是否为0,如果为0,则表示转换错误。此外,还应使用其他验证和过滤方法来确保输入数据的安全性。