strtoul()函数

 

C语言 strtoul()函数 ------ 字符串转换成无符号长整型

unsigned long int strtoul(const char *str, char **endptr, int base)

把参数 str 所指向的字符串根据给定的 base 转换为一个无符号长整数.

参数:

  • str -- 要转换为无符号长整数的字符串。
  • endptr -- 对类型为 char* 的对象的引用,其值由函数设置为 str 中数值后的下一个字符,即返回字符串有效数字的结束地址。
  • base -- 基数,必须介于 2 和 36(包含)之间,或者是特殊值 0,当base=0,自动判断字符串的类型,并按10进制输出,例如"0xa",就会把字符串当做16进制处理,输出的为10。

返回值:

该函数返回转换后的长整数,如果没有执行有效的转换,则返回一个零值。

exp:

    #include <stdio.h>
    #include <stdlib.h>
     
    int main()
    {
    	char str[40] = " 10 hello world!";
    	char *ptr;
    	long ret;
    	
    	ret = strtoul(str, &ptr, 10);
    	printf("数字(无符号长整数)是%lu\n", ret);
    	printf("字符串部分是:%s",ptr);
    	
    	return 0;
    } 

运行结果如下:

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
strtoul函数是C标准库中的一个函数,其功能是将字符串转换为无符号长整型数(unsigned long)。 strtoul函数的原型如下: unsigned long strtoul(const char *str, char **endptr, int base); 其中,str是要进行转换的字符串;endptr是指向第一个无法被转换的字符的指针;base表示转换时所使用的进制数。 strtoul函数具体的转换过程如下: 1. 从字符串的开头开始遍历,直到遇到第一个非空格字符或者非数字字符。 2. 如果第一个非空格字符是加号或者减号,则分别判断该符号的正负,并从下一个字符开始继续遍历。 3. 判断第一个非空格字符之后的字符是否合法,如果不是数字字符,则停止转换,将endptr指针指向这个非法字符。 4. 根据所给的进制数base,将字符逐个转换为数字。 5. 如果转换过程中遇到非数字字符或者超过了unsigned long类型的范围,则停止转换,将endptr指针指向转换停止的位置。 6. 如果转换成功,返回转换后的无符号长整型数。 以下是一个使用strtoul函数的例子: ``` #include <stdio.h> #include <stdlib.h> int main() { char str[] = "12345"; char *endptr; unsigned long num = strtoul(str, &endptr, 10); printf("Number: %lu\n", num); printf("Endptr: %s\n", endptr); return 0; } ``` 输出结果为: ``` Number: 12345 Endptr: ``` 其中,Number表示转换后的无符号长整型数,Endptr指向的是字符串的末尾。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值