Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Записывает отформатированные данные в указанную строку. Размер целевого буфера предоставляется функции, чтобы убедиться, что она не записывает в конец этого буфера.
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] |
| целевая платформа | Виндоус |
| заголовка | strsafe.h |