头文件:#include <stdlib.h>
strtol() 函数用来将字符串转换为长整型数(long),其原型为:
long int strtol (const char* str, char** endptr, int base);
str 为要转换的字符串,endstr 指向不能转换的第一个字符的地址,base 为字符串 str 所采用的进制。
参数 base 范围从2 至36,或0。如base 值为10 则采用10 进制,若base 值为16 则采用16 进制。
返回值为将base进制的字符串转化为long int类型的十进制数。
注意:
当 base 的值为 0 时,默认采用 10 进制转换。但如果遇到 ‘0x’ 或者 ‘0X’ 前置字符,采用16 进制转换。
str开头和结尾处的空格被忽视,中间的空格被视为非法字符。
例:
char buffer[20]="103cend$3";
char *stop;
printf("%d\n",strtol(buffer, &stop, 8));
printf("%s\n", stop);
输出结果:
67
cend$3
八进制的103即十进制的67。
版权声明:本文为bjyh345原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。