gpt4 book ai didi

当 char 超过时使用 strtoll 将字符串转换为长整型

转载 作者:行者123 更新时间:2023-11-30 19:14:52 24 4
gpt4 key购买 nike

我正在使用 strtoll 函数将字符串转换为长整型。当输入字符串为 63 个字符时,我没有遇到任何问题。

但是当它超过 63 个字符时,就会给出错误的结果。

char *pEnd1;
long long ll_i1 = 0;
ll_i1 = strtoll (newDE1, &pEnd1, 2);

有效 ==> newDE1 = "11111011011101101........"63 个字符。不工作 ==> newDE1 = "11111011011101101........"64 个字符。是否有任何内置功能可以实现。

最佳答案

根据 strtoll man page :

The strtol() function returns the result of the conversion, unless the value would underflow or overflow. If an underflow occurs, strtol() returns LONG_MIN. If an overflow occurs, strtol() returns LONG_MAX. In both cases, errno is set to ERANGE. Precisely the same holds for strtoll() (with LLONG_MIN and LLONG_MAX instead of LONG_MIN and LONG_MAX).

鉴于您已发布尝试转换超过 63 个字符的字符串,您可能会遇到溢出。

关于当 char 超过时使用 strtoll 将字符串转换为长整型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33478270/

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