gpt4 book ai didi

c++ - sprintf() 乱码输出

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:12:00 26 4
gpt4 key购买 nike

我有以下代码:

char buf[255];
int ID = 0;
double val = 1.234;
sprintf(buf, "%d@%.3lf", ID, val);
printf("%s", buf);

printf() 正确打印了 ID 值,但是 val 值只是一些垃圾。你知道是什么原因导致这个问题吗?我在 Win7 32 位上使用 MSVC 9。更奇怪的是,上面的代码在 64 位机器上可以正常工作。

在此先感谢您的帮助。

最佳答案

在这条评论之后:

是的,还有一些额外的代码。这段代码被编译成一个 DLL 库,实际上我有三个地方调用问题中发布的代码,并且只有一个地方在输出垃圾中,如前所述。

这可能是由于您的代码中其他地方存在一些问题。您可能在某处破坏了堆栈/堆并且无意中覆盖了您的变量。用内存检查器检查你的代码(valgrind (unix), CMemLeak(everything))

关于c++ - sprintf() 乱码输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12583415/

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