gpt4 book ai didi

c - sscanf long hex 数字到 long long int

转载 作者:太空宇宙 更新时间:2023-11-04 06:22:17 25 4
gpt4 key购买 nike

我有很长的十六进制数,例如a3dafc126e(10 个字符长),我想使用 sscanf 读取并转换为十进制数:

long long int timestamp=0;
result = sscanf(msgPtr,"%10x", &timestamp); //msgptr contains the string a3dafc126e
printf("%lld\n",timestamp);

但是结果是

3673952878

对应于dafc126e

你能告诉我,我做错了什么吗,scanf 只读取 8 个十六进制字符而不是 10 个?

最佳答案

"%10x" 用于读取int 值,您的int 大小可能是4 个字节。

要读取long long int值,请使用sscanf(msgPtr,"%10llx", &timestamp);

如果您的编译器报错或无法运行,请尝试 sscanf(msgPtr,"%10I64x", &timestamp);

关于c - sscanf long hex 数字到 long long int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32697374/

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