我无法使用strtol将字符串转换为long。在字符串中的数字前面有一个前导"."
返回0。
没有"."
strtol按预期返回3456
。
#include <stdio.h>
#include <stdlib.h>
int main ()
{
char str[20] = " . 3456\r\n";
long ret = strtol(str, NULL, 10);
printf("ret is %ld\n",ret);
return(0);
}
答案 0 :(得分:3)
strto*
库函数只会跳过前导空格。如果您想跳过其他文本,则需要手动完成。来自isxxx
的{{1}}函数可以为此提供帮助:
ctype.h