【发布时间】:2019-12-08 15:45:14
【问题描述】:
我尝试使用strtol 将char* 转换为int:
long lnum;
int num;
char *end;
char * str ="3a";
lnum = strtol(str, &end, 10);
printf(" res = %d \n" , lnum);
此代码打印3。
我怎么知道输入不仅仅是数字?我希望此转换失败,因为 "3a" 包含一个 'a' 字符。
【问题讨论】:
-
@user3121023 为什么 end 必须是
char **而不是char*?
标签: c validation strtol