strtol函数参数详解

    long int strtol(const char *nptr, char **endptr, int base);为什么第二个参数不用初始化只用定义一个未初始化的char 类型的指针即可???


strtol是atoi的增强版,参数base范围从2至36,或0。参数base代表采用的进制方式,0/10是十进制


1. endptr是一个传出参数,函数返回时指向后面未被识别的第一个字符。例如char *pos; strtol("123abc", &pos, 10);
strtol返回123,pos指向字符串中的字母a。
2. 如果字符串开头没有可识别的整数,例如char *pos; strtol("ABCabc", &pos, 10);
则strtol返回0,pos指向字符串开头,可以据此判断这种出错的情况,而这是atoi处理不了的

猜你喜欢

转载自blog.csdn.net/ertfyang/article/details/80660526
今日推荐