前言
C语言strtol()函数:将字符串转换为长整型
一、函数原型
函数原型: long strtol(char *s,char **ptr,int radix);
功能: 用于将字符串换成长整型数
参数: char *s 为要转换的字符串
char **ptr 为一字符串指针,用于进行错误检测,遇到非法字符将终止;如果 ptr 不为空,则指向转换中最后一个字符 后的字符的指针会存储在 ptr引用的位置。int radix 为采用的进制方式
返回值:返回转换后的长整型数
二、例程
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(void){
char *a="123456";
char *b=“100000”;
char c[]=“AB”; // 不区分大小写
printf(“a=%d\n”,strtol(a,NULL,10));
printf(“b=%d\n”,strtol(b,NULL,2));
printf(“c=%d\n”,strtol(c,NULL,16));
return 0;
}
运行结果:
a=123456
b=32
c=171
总结
C语言博大精深,常用函数深入理解,后续写代码会行云流水。
对运行结果进行分析:
a=123456 字符串123456转换成10进制整形 ,仍是123456。函数此时只能识别10进制的数,遇到其他字符不识别直接去掉及其剩余数据。如:A123b89 =0 ; 123b89=123 ;
b=32 100000 = 2^5=32
c=171 AB = A*16^1+B = 160+11 = 171