c – 如何使用wsprintf打印双面

前端之家收集整理的这篇文章主要介绍了c – 如何使用wsprintf打印双面前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我无法使用wsprintf()打印双重值.
我试过sprintf(),它工作正常.

用于wsprintf()和sprintf()的语法如下:

wsprintf(str,TEXT("Square is %lf "),iSquare); // Does not show value

sprintf(str," square is %lf",iSquare);  // works okay

我在使用wsprintf()时发生任何错误吗?

解决方法

wsprintf不支持浮点数.错误是使用它.

如果你想要像sprintf这样的东西,但是对于宽字符/字符串,你需要swprintf.

实际上,由于您使用的是TEXT宏,所以您可能需要使用_stprintf:它将从窄到宽的实现方式同步到TEXT用来决定字符串是窄还是宽的预处理宏.

对于什么是值得的:wsprintf几乎完全是一个历史文物. w显然代表Windows.它被Windows作为Windows的一部分(包括Windows 2.1,可能是Windows 1).它没有支持浮点数,因为那时候Windows没有内部使用任何浮点数.

猜你在找的C&C++相关文章