В MSVC ряд строковых функций предлагают оригинальную, безопасную версию и strsafe версию.Например, sprintf
, sprintf_s
и StringCchPrintf
- все эквиваленты, увеличивающиеся в безопасности (по некоторым показателям).
Теперь у меня есть немного кода, который делает:
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-способ написания этого куска кода или альтернативных функций для обоих, которые мне не хватает, или приемлемо смешивание оригинальной и strsafe-функций?(о текущем способе предупреждения о безопасности не выдается, на / w4 с PREfast all rules)