1
在MSVC中,許多字符串函數提供了原始版本,安全版本和版本號strsafe。例如,sprintf
,sprintf_s
和StringCchPrintf
都是等同的,安全性增加(通過一些度量)。_vscwprintf的安全替代方案
現在,我有一些代碼,做:
int bufsize = _vscwprintf(fmt, args) + 1;
std::vector<wchar_t> buffer(bufsize);
int len = _vsnwprintf_s(&buffer[0], bufsize, bufsize-1, fmt, args);
要分配正確大小的緩衝區。
在通過strsafe函數查看時,我找到了_vsnwprintf_s
的替代方法,但沒有找到_vscwprintf
。 Google的支票似乎沒有任何回報。
是否有一種很安全的方式來編寫代碼,或者我缺少的替代函數,或者混合原始和strsafe函數都可以接受? (沒有給出關於當前方式的安全警告,使用PREfast所有規則開啓/ w4)