C语言strtol()函数


前言

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

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
isalnum(测试字符是否为英文或数字) isalpha (测试字符是否为英文字母) isascii(测试字符是否为ASCII码字符) iscntrl(测试字符是否为ASCII码的控制字符) isdigit(测试字符是否为阿拉伯数字) isgraphis(测试字符是否为可打印字符) islower(测试字符是否为小写字母) isprint(测试字符是否为可打印字符) isspace(测试字符是否为空格字符) ispunct(测试字符是否为标点符号或特殊符号) isupper(测试字符是否为大写英文字母) isxdigit(测试字符是否为16进制数字) atof(将字符串转换成浮点型数) atoi(将字符串转换成整型数) atol(将字符串转换成长整型数) gcvt(将浮点型数转换为字符串,取四舍五入) strtod(将字符串转换成浮点数) strtol(将字符串转换成长整型数) strtoul(将字符串转换成无符号长整型数) toascii(将整型数转换成合法的ASCII码字符) tolower(将大写字母转换成小写字母) toupper(将小写字母转换成大写字母) Calloc(配置内存空间) free(释放原先配置的内存) getpagesize(取得内存分页大小) malloc(配置内存空间) mmap(建立内存映射) munmap(解除内存映射) asctime(将时间和日期以字符串格式表示) ctime(将时间和日期以字符串格式表示) gettimeofday(取得目前的时间) gmtime(取得目前时间和日期) localtime(取得当地目前时间和日期) mktime(将时间结构数据转换成经过的秒数) settimeofday(设置目前时间) time(取得目前的时间) bcmp(比较内存内容) bcopy(拷贝内存内容) bzero(将一段内存内容全清为零) index(查找字符串中第一个出现的指定字符) memccpy(拷贝内存内容) memchr(在某一内存范围中查找一特定字符) …… …… ……
目录 字符测试篇............................................................................................................................... 8 isalnum(测试字符是否为英文或数字) ...................................................................... 8 isalpha (测试字符是否为英文字母) ......................................................................... 8 isascii(测试字符是否为ASCII码字符) ............................................................................. 9 iscntrl(测试字符是否为ASCII码的控制字符) .............................................................. 10 isdigit(测试字符是否为阿拉伯数字) ....................................................................... 10 isgraphis(测试字符是否为可打印字符) ................................................................... 10 islower(测试字符是否为小写字母) ......................................................................... 11 isprint(测试字符是否为可打印字符) ....................................................................... 11 isspace(测试字符是否为空格字符) ......................................................................... 12 ispunct(测试字符是否为标点符号或特殊符号) ..................................................... 13 isupper(测试字符是否为大写英文字母) ................................................................. 13 isxdigit(测试字符是否为16进制数字) .................................................................... 14 字符串转换篇 ......................................................................................................................... 14 atof(将字符串转换成浮点型数) .............................................................................. 14 atol(将字符串转换成长 整型数) ............................................................................. 15 gcvt(将浮点型数转换为字符串,取四舍五入) ...................................................... 16 strtod(将字符串转换成浮点数) ............................................................................... 17 strtol(将字符串转换成长整型数) ............................................................................ 17 strtoul(将字符串转换成无符号长整型数) .............................................................. 18 toascii(将整型数转换成合法的ASCII码字符) ........................................................ 18 tolower(将大写字母转换成小写字母) .......................................................................... 19 toupper(将小写字母转换成大写字母) .................................................................... 19 内存控制篇........................................................................................ 以下省略

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hzj348365

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值