如何检测strtol()是否未转换数字?我在下面的简单案例中对它进行了测试并输出了0.现在显而易见的问题是如何区分非转换和0的转换?
long int li1;
li1 = strtol("some string with no numbers",NULL,10);
printf("li1: %ld\n",li1);
****
li1: 0
Run Code Online (Sandbox Code Playgroud) 我正在使用atoi将字符串integer值转换为整数.但首先我想测试函数的不同情况,所以我使用了以下代码
#include <stdio.h>
int main(void)
{
char *a ="01e";
char *b = "0e1";
char *c= "e01";
int e=0,f=0,g=0;
e=atoi(a);
f=atoi(b);
g=atoi(c);
printf("e= %d f= %d g=%d ",e,f,g);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
此代码返回e= 1 f= 0 g=0
我不知道为什么它返回1的"01e"