头文件:#include <stdlib.h>

strtoul() 函数源自于“string to unsigned long”,用来将字符串转换成无符号长整型数(unsigned long),其原型为:
    unsigned long strtoul (const char* str, char** endptr, int base);

【参数说明】str 为要转换的字符串,endstr 为第一个不能转换的字符的指针,base 为字符串 str 所采用的进制

【函数说明】strtoul() 会将参数 str 字符串根据参数 base 来转换成无符号的长整型数(unsigned long)。参数 base 范围从2 至36,或0。参数 base 代表 str 采用的进制方式,如 base 值为10 则采用10 进制,若 base 值为16 则采用16 进制数等。

strtoul() 会扫描参数 str 字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过 isspace() 函数来检测),直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时('\0')结束转换,并将结果返回。

两点注意:

  • 当 base 的值为 0 时,默认采用 10 进制转换,但如果遇到 '0x' / '0X' 前置字符则会使用 16 进制转换,遇到 '0' 前置字符则会使用 8 进制转换。
  • 若 endptr 不为NULL,则会将遇到的不符合条件而终止的字符指针由 endptr 传回;若 endptr 为 NULL,则表示该参数无效,或不使用该参数。本文最后的范例没有展示 endptr 参数的使用,你可以参考 strtol() 函数的范例来更加直观地了解 endptr 参数。

【返回值】返回转换后的无符号长整型数;如果不能转换或者 str 为空字符串,那么返回 0;如果转换得到的值超出unsigned long int 所能表示的范围,函数将返回 ULONG_MAX(在 limits.h 头文件中定义),并将 errno 的值设置为 ERANGE。

strtoul函数的用法相关推荐

  1. 浅析C语言中strtol()函数与strtoul()函数的用法

    这篇文章主要介绍了浅析C语言中strtol()函数与strtoul()函数的用法,注意其将字符串转换成long型的区别,需要的朋友可以参考下 头文件: ? 1 #include <stdlib. ...

  2. strtol()函数与strtoul()函数的用法

    strtol long int strtol (const char* str, char** endptr, int base); //用来将字符串转换为长整型数(long) 参数:      st ...

  3. strtol函数、strtoul函数

    strtol函数:将字符串转换成long(长整型数) 描述 C 库函数 long int strtol(const char *str, char **endptr, int base) 把参数 st ...

  4. matlab repmate,MATLAB中“repmat”与“cat”函数的用法

    MATLAB中"repmat"与"cat"函数的用法 1. repmat函数 >> z=repmat(5,2,3) z = 5 5 5 5 5 5 ...

  5. strtoul函数的使用,揭开其神秘面纱

    之前使用strtoul函数时,从来没思考过它的用法,最近在编写驱动设计时,突遇这个函数,发现这函数还是有值得探讨的地方. 其函数原型如下: unsigned long strtoul(const ch ...

  6. 关于C语言中的malloc和free函数的用法

    一.malloc()和free()的基本概念以及基本用法: 1.函数原型及说明: void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针 ...

  7. Python assert断言函数及用法

    Python assert断言函数及用法 Python assert 语句,又称断言语句,可以看做是功能缩小版的 if 语句,它用于判断某个表达式的值,如果值为真,则程序可以继续往下执行:反之,Pyt ...

  8. python中的counter()、elements()、most_common()和subtract()函数的用法

    python中的counter().elements().most_common()和subtract()函数的用法 counter()方法: class collections.Counter([i ...

  9. Java正则表达式--Matcher.group函数的用法

    https://www.cnblogs.com/jiafuwei/p/6080984.html Java正则表达式--Matcher.group函数的用法 原来,group是针对()来说的,group ...

最新文章

  1. 分析完Top 25中概股科技公司,我们发现了回港二次上市的硬指标
  2. 第十周项目实践 哈夫曼树的建立哈夫曼编码
  3. [register]-ARMV8-aarch64-通用寄存器介绍
  4. a partial surjection的题库
  5. Redis sorted_set实现点赞功能
  6. Maven Scope取值的含义
  7. python label background设置成透明_纯Python绘制满满艺术感的山脊地图
  8. 【Java数据结构与算法】第十八章 动态规划和KMP算法
  9. unity3d在Android端读取修改Json数据
  10. 2022-03-28 术语MES、WMS
  11. Silverlight WCF RIA服务(二十九)Silverlight 客户端 10
  12. MVC---------ViewBag
  13. 2020如何成功注册google
  14. 官方版win10重装系统(官方win10 镜像)
  15. java圆角矩形_如何在java中绘制自定义圆角矩形?
  16. ArcGIS制作样点图
  17. 玩吧斗兽棋的一些攻略 同级子谁胜负问题
  18. 给你一个水杯如何进行测试?
  19. 【C语言复习】C语言中的文件操作
  20. TCP长连接和HTTP长连接对比

热门文章

  1. android开发自制计算器测试图,从0开始自制计算器!
  2. js日期转换:CST时间和时间戳
  3. matlab 多线程编程,Matlab——Timer对象(多线程编程)
  4. 特斯拉 开源_特斯拉开源其安全软件,好莱坞开源,更多新闻
  5. vue实现商品上下架功能(状态值随之改变)
  6. 【摸鱼系列】3万张4K壁纸还不够你换的吗?python还可以实现更多采集可能
  7. 用户变量和系统变量区别
  8. 软件接收机射频信号源matlab程序,gps数字中频信号仿真
  9. 思科路由器:RIP动态路由协议实验
  10. Windows 10——远程桌面无法复制粘贴问题解决方案