функция StringCbPrintf_lA (strsafe.h)
Записывает отформатированные данные в указанную строку. Размер целевого буфера предоставляется функции, чтобы гарантировать, что она не записывает данные после конца этого буфера.
StringCbPrintf_l похож на StringCbPrintf , но включает параметр для сведений о языковом стандарте.
Синтаксис
STRSAFEAPI StringCbPrintf_lA(
[out] STRSAFE_LPSTR pszDest,
[in] size_t cbDest,
[in] _Printf_format_string_params_(2)STRSAFE_LPCSTR pszFormat,
[in] _locale_t locale,
...
);
Параметры
[out] pszDest
Буфер назначения, который получает отформатированную строку со значением NULL, созданную из pszFormat , и ее аргументы.
[in] cbDest
Размер целевого буфера в байтах. Это значение должно быть достаточно большим, чтобы вместить итоговую отформатированную строку и завершающий символ NULL. Максимально допустимое количество байтов — STRSAFE_MAX_CCH * sizeof(TCHAR)
.
[in] pszFormat
Строка формата. Эта строка должна заканчиваться null. Дополнительные сведения см. в разделе Синтаксис спецификации формата.
[in] locale
Объект языкового стандарта. Дополнительные сведения см. в разделе _create_locale.
...
Аргументы, которые необходимо вставить в строку pszFormat .
Возвращаемое значение
Эта функция может возвращать одно из следующих значений. Настоятельно рекомендуется использовать макросы SUCCEEDED и FAILED для проверки возвращаемого значения этой функции.
Код возврата | Описание |
---|---|
|
Достаточно места для копирования результата в pszDest без усечения, а буфер завершается null. |
|
Значение в cbDest равно 0 или больше .STRSAFE_MAX_CCH * sizeof(TCHAR)
|
|
Операция копирования завершилась сбоем из-за недостаточного пространства в буфере. Целевой буфер содержит усеченную версию предполагаемого результата, завершаемую null. В ситуациях, когда усечение приемлемо, это не обязательно может рассматриваться как условие сбоя. |
Комментарии
Поведение не определено, если строки, на которые указывают pszDest, pszFormat или любые строки аргументов, перекрываются.
Ни pszFormat, ни pszDest не должны иметь значение NULL. См . StringCbPrintf_lEx , если требуется обработка значений строкового указателя null.
Чтобы использовать эту функцию, необходимо определить следующий макрос в файле заголовка перед включением StrSafe.h.
#define STRSAFE_LOCALE_FUNCTIONS
Примечание
Заголовок strsafe.h определяет StringCbPrintf_l в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2008 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | strsafe.h |
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по