gpt4 book ai didi

将负数从 String 转换为 unsigned Long

转载 作者:太空宇宙 更新时间:2023-11-04 02:54:29 27 4
gpt4 key购买 nike

我正在尝试将负数从 String 转换为 unsigned long,但是由于“-”符号而得到意外结果。代码下方

    #include <stdio.h>
#include <string.h>

main()
{
char * pValue = "-1234657890000";
unsigned long ValueLong ;
sscanf( pValue, "%llu", &ValueLong ) ;
printf ("%llu",ValueLong);
}

代码显示此值“18446742839051661616”,而不是将“-1234657890000”作为 printf 输出有什么建议吗?

谢谢

最佳答案

您提供的值不适合 unsigned long(或者至少不能保证适合)。另一点是 -1234567890000 根本不是 unsigned。请改用 long long 并记住文字应以 LL 为后缀,如下所示:

char * pValue = "-1234657890000LL";

关于将负数从 String 转换为 unsigned Long,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19092215/

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