функция StringCchPrintf_lW (strsafe.h)

Записывает отформатированные данные в указанную строку. Размер целевого буфера предоставляется функции, чтобы гарантировать, что она не записывает данные после конца этого буфера.

StringCchPrintf_l похож на StringCchPrintf , но включает параметр для сведений о языковом стандарте.

Синтаксис

STRSAFEAPI StringCchPrintf_lW(
  [out] STRSAFE_LPWSTR                                  pszDest,
  [in]  size_t                                          cchDest,
  [in]  _Printf_format_string_params_(2)STRSAFE_LPCWSTR pszFormat,
  [in]  _locale_t                                       locale,
        ...                                             
);

Параметры

[out] pszDest

Буфер назначения, который получает отформатированную строку со значением NULL, созданную из pszFormat , и ее аргументы.

[in] cchDest

Размер буфера назначения в символах. Это значение должно быть достаточно большим, чтобы вместить итоговую отформатированную строку плюс 1 для учета завершающего символа NULL. Максимально допустимое количество символов — STRSAFE_MAX_CCH.

[in] pszFormat

Строка формата. Эта строка должна заканчиваться null. Дополнительные сведения см. в разделе Синтаксис спецификации формата.

[in] locale

Объект языкового стандарта. Дополнительные сведения см. в разделе _create_locale.

...

Аргументы, которые необходимо вставить в строку pszFormat .

Возвращаемое значение

Эта функция может возвращать одно из следующих значений. Настоятельно рекомендуется использовать макросы SUCCEEDED и FAILED для проверки возвращаемого значения этой функции.

Код возврата Описание
S_OK
Достаточно места для копирования результата в pszDest без усечения, а буфер завершается null.
STRSAFE_E_INVALID_PARAMETER
Значение в cchDest равно 0 или больше STRSAFE_MAX_CCH.
STRSAFE_E_INSUFFICIENT_BUFFER
Операция копирования завершилась сбоем из-за недостаточного пространства в буфере. Целевой буфер содержит усеченную версию предполагаемого результата, завершаемую null. В ситуациях, когда усечение приемлемо, это не обязательно может рассматриваться как условие сбоя.

Комментарии

Поведение не определено, если строки, на которые указывают pszDest, pszFormat или любые строки аргументов, перекрываются.

Ни pszFormat, ни pszDest не должны иметь значение NULL. Если требуется обработка значений строкового указателя null, см. StringCchPrintf_lEx .

Чтобы использовать эту функцию, необходимо определить следующий макрос в файле заголовка перед включением StrSafe.h.

#define STRSAFE_LOCALE_FUNCTIONS

Примечание

Заголовок strsafe.h определяет StringCchPrintf_l в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header strsafe.h