c语言把字符串转为整形,c语言strtol()函数如何将字符串转换成长整型数

本文详细介绍了C语言中的strtol函数,该函数用于将字符串转换为长整型数。文章解释了如何通过指定不同的进制(base)进行转换,并提供了具体的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

c语言strtol()函数如何将字符串转换成长整型数。需要引入的头文件:#include

定义strtol()函数:long int strtol(const char *nptr, char **endptr, int base);

strtol()函数介绍:strtol()会将参数nptr 字符串根据参数base 来转换成长整型数。参数base 范围从2 至36,或0。参数base 代表采用的进制方式,如base 值为10 则采用10 进制,若base 值为16 则采用16 进制等。当base值为0 时则是采用10 进制做转换,但遇到如’0x’前置字符则会使用16 进制做转换。一开始strtol()会扫描参数nptr 字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时(‘\0′)结束转换,并将结果返回。若参数endptr 不为NULL,则会将遇到不合条件而终止的nptr 中的字符指针由endptr 返回。

strtol()函数返回值:返回转换后的长整型数,否则返回ERANGE 并将错误代码存入errno 中。

附加说明:ERANGE 指定的转换字符串超出合法范围。

strtol()函数范例:将字符串a, b, c 分别采用10, 2, 16 进制转换成数字。

#include

main(){

char a[] = “1000000000″;

char b[] = “1000000000″;

char c[] = “ffff”;

printf(“a=%d\n”, strtol(a, NULL, 10));

printf(“b=%d\n”, strtol(b, NULL, 2));

printf(“c=%d\n”, strtol(c, NULL, 16));

}

strtol()函数执行结果:

a=1000000000

b=512

c=65535

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值