gpt4 book ai didi

c - C 中的函数 strtol 超出范围...或不

转载 作者:行者123 更新时间:2023-12-02 22:40:27 24 4
gpt4 key购买 nike

我尝试使用 strtol() 从字符串中读取一个数字,它返回 LONG_MAX 数字,该数字应该在数字超出范围时返回,但我的数字并没有那么大

main(){
char linea[30]={"110111010111111000000000"};
long num=strtol(linea,NULL,0);
printf("%s\n%X",linea,num);
}

实际结果:
110111010111111000000000
7FFFFFFFF

需要的结果:
110111010111111000000000
DD7C00

最佳答案

根据 strtol 的手册页,您提供的“0”参数表示“使用您的最佳判断”,在本例中为十进制。如果您希望它转换二进制 数字,正如您指定的“需要的结果”所建议的那样,请不要使用“0”,而使用“2”。

关于c - C 中的函数 strtol 超出范围...或不,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10843891/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com