概述
C 库函数 long int strtol(const char *str, char **endptr, int base) 把参数 str 所指向的字符串根据给定的 base 转换为一个长整数(类型为 long int 型),base 必须介于 2 和 36(包含)之间,或者是特殊值 0。
声明
下面是 strtol() 函数的声明。
long int strtol(const char *str, char **endptr, int base)
参数
- str -- 要转换为长整数的字符串。
- endptr -- 对类型为 char* 的对象的引用,其值由函数设置为 str 中数值后的下一个字符。
- base -- 基数,必须介于 2 和 36(包含)之间,或者是特殊值 0。
返回值
该函数返回转换后的长整数,如果没有执行有效的转换,则返回一个零值。
功能:是将一个任意2-36进制数转化为10进制数,返回是long int型。
#include<cstdlib>
#include<cstdio>
int main()
{
char buffer[20]="10379cend$3";
char *ptr;
long ret = strtol(buffer, &ptr,8);
printf("%ldn",ret);
printf("%sn", ptr);
}
输出结果:
543
9cend$3
将一个8进制转化为10进制,读取1037,其他后面的为非法字符,转化结果以int型输出来。
最后
以上就是愉快钥匙为你收集整理的strtol函数n进制转换10进制的全部内容,希望文章能够帮你解决strtol函数n进制转换10进制所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复