是否有一个windows api版本的swprintf_s()不';你不使用微软的CRT吗?

是否有一个windows api版本的swprintf_s()不';你不使用微软的CRT吗?,c,winapi,C,Winapi,我需要一个类似于swprintf_s()的严格的windows api函数,它不使用microsoft CRT它看起来像StringCchPrintf依赖于CRT中的\u vsnprintf_s,即使在使用库表单时也是如此,所以这对您没有帮助。不幸的是,我认为您唯一的纯Win32选项是wsprintf,它没有缓冲区溢出保护。显然,您需要创建自己的\u vsnprintf和\u vsnwprintf才能使StringCchPrintf正常工作。为什么要避免使用CRT?请注意,如果您使用的是Visu

我需要一个类似于
swprintf_s()
的严格的windows api函数,它不使用microsoft CRT

它看起来像
StringCchPrintf
依赖于CRT中的
\u vsnprintf_s
,即使在使用库表单时也是如此,所以这对您没有帮助。不幸的是,我认为您唯一的纯Win32选项是
wsprintf
,它没有缓冲区溢出保护。显然,您需要创建自己的
\u vsnprintf
\u vsnwprintf
才能使
StringCchPrintf
正常工作。为什么要避免使用CRT?请注意,如果您使用的是Visual Studio,则未链接到CRT的应用程序可能会在启动时由于不明显的原因间歇性崩溃。(这似乎是一个新问题;在过去几个月的某个时候,我多年来一直在使用的应用程序开始间歇性地崩溃。)@Harry:这是个有趣的消息。由于我最近编写了一个不链接CRT的应用程序,我感到有点不安。你有其他信息的链接吗?它与特定的OS版本或特定的Visual Studio版本有关吗?@Rm32a:顾名思义,Microsoft C运行时库是Microsoft版本的C运行时库。它们其实并不是两个不同的东西。