StringCchVPrintf vs sprintf_s

时间:2012-01-01 11:10:05

标签: c++ winapi

我更喜欢新项目的哪个功能? 来自strsafe.h或sprintf_s

的StringCchVPrintf

1 个答案:

答案 0 :(得分:4)

如果您使用C代码,我建议使用snprintf(因为snprintf符合C99标准)。

如果您使用C ++编写代码,请考虑使用std::ostringstream,它位于C ++标准库中。

snprintfostringstream都应该适用于许多系统,包括非Windows系统。

我一般建议尽可能编码标准。它可以简化您的软件端口到其他系统。尽量避免(或者至少要小心)使用仅在WinApi中可用的功能(AFAIK,没有定义它的标准规范;它只是一个专有的实现,大多数其他系统没有它。)

如果您的应用程序具有图形界面,您可以考虑使用跨平台工具包库,例如: Qt:它为您提供了一个抽象(Qt API),它应该适用于多个操作系统。