C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – sprintf()乱码输出大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下代码

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(所有))

@H_419_32@

大佬总结

以上是大佬教程为你收集整理的c – sprintf()乱码输出全部内容,希望文章能够帮你解决c – sprintf()乱码输出所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。