首页 > 编程知识 正文

strtol函数用法返回值,strtol()

时间:2023-05-05 02:08:39 阅读:260074 作者:1702

之前想用C写MD5函数用法,中间设计大量进制转换的内容,于是就查到了strtol这个函数

但是发现之前对其认识上有一些偏颇,所以把它的用法记录下来

strtol是一个C语言函数,作用就是将一个字符串转换为长整型long,其函数原型为

long int strtol (const char* str, char** endptr, int base);

str是要转换的字符

enptr是指向第一个不可转换的字符位置的指针

base的基数,表示要转换的是几进制的数

这里有几个注意点:
首先它最终转换的结果是十进制的数字
其次这里的base指的是str字符中你要转换的是那些东西
即若base为2,并不代表你把str里的东西转化为二进制,而是你的str中为"0" "1"的字符才是有效的。
可以看一个例子:

long int number;char heihei[] = "010345e10101";number = strtol(heihei,NULL,2);printf("%ldn", number);

其结果为:

即其只扫描到了010,然后把010作为二进制转化为10进制,后面的345e都为非法字符,都不能进行转换。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。