gpt4 book ai didi

c - Printf 格式字符串问题(PW.BAD_PRINTF_FORMAT_STRING)

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

sprintf(xBuffer,"%l",rootCause)

rootCauseunsigned long

bad_printf_format_string:invalid format string conversion

sprintf(buffId,"Ox%lx Ox%lx Ox%lx", canSnifferMsg.nodeId, canSnifferMsg.index, canSnifferMsg.subindex);

这个呢? nodeId, index, subindex 都是long

最佳答案

unsigned long 的正确格式字符串是%lu
可以找到格式说明符列表 here .
有人问过类似的问题here .

%lx 用于获取数字的十六进制表示。因此,它是无符号还是有符号无关紧要,因为使用 2 的补码而不是负号。

如果您想打印一个常规的长数字,您可以使用我发送的第一个链接中指定的 %ld%li

例子:

unsigned long a = (unsigned long)(-25);
char buff[100];

sprintf(buff, "%lu %lx %ld", a, a, a);

printf("%s", buff);

输出:

4294967271 ffffffe7 -25

关于c - Printf 格式字符串问题(PW.BAD_PRINTF_FORMAT_STRING),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55645472/

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