c++ - StringCchVPrintf 与 sprintf_s

标签 c++ winapi

对于新项目,我应该更喜欢哪个功能? 来自 strsafe.h 或 sprintf_s 的 StringCchVPrintf

最佳答案

我建议使用 snprintf如果您使用 C 编写代码(因为 snprintf 在 C99 标准中)。

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

snprintfostringstream 应该在许多系统上都可用,包括非 Windows 系统。

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

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

关于c++ - StringCchVPrintf 与 sprintf_s,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8692819/

相关文章:

c++ - 在类内传递类 C++

C#、Powershell、未记录的 WinApi 函数 GetFontResourceInfoW

C++ WIN API : When creating a child process using CreateProcess, 是否需要使输入参数具有全局生命周期?

c++ - 为文本编辑控件实现缓冲区的最佳方法是什么?

c++ - 如何使用 C++ 将文本文件的不同部分上传到不同的数组

c++ - 如何为 TTF_RenderText_Solid 添加变量到字符串

c++ - 这段检查平衡括号的代码是如何工作的?

c# - 以编程方式锁定注册表项以避免并发问题

c++ - 单独线程中的 GetDC 函数返回时间太长

c - 如何在WIN32 API中使用trim()文本LPWSTR类型