Функция wvsprintfW (winuser.h)

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

Предупреждение Не используйте. Вместо этого рекомендуется использовать одну из следующих функций: StringCbVPrintf, StringCbVPrintfEx, StringCchVPrintf или StringCchVPrintfEx. См. раздел Вопросы безопасности.
 

Синтаксис

int wvsprintfW(
  [out] LPWSTR  unnamedParam1,
  [in]  LPCWSTR unnamedParam2,
  [in]  va_list arglist
);

Параметры

[out] unnamedParam1

Тип: LPTSTR

Буфер, который принимает форматированные выходные данные. Максимальный размер буфера составляет 1024 байта.

[in] unnamedParam2

Тип: LPCTSTR

Спецификации элемента управления форматированием. В дополнение к обычным символам ASCII в этой строке отображается спецификация формата для каждого аргумента. Дополнительные сведения о спецификации формата см. в функции wsprintf .

[in] arglist

Тип: va_list

Каждый элемент этого списка задает аргумент для строки элемента управления форматом. Число, тип и интерпретация аргументов зависят от соответствующих спецификаций элемента управления форматом в параметре lpFmt .

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

Тип: int

Если функция выполняется успешно, возвращаемое значение — это количество символов, хранящихся в буфере, не считая завершающего пустого символа.

Если функция завершается сбоем, возвращаемое значение меньше ожидаемой длины выходных данных. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

Функция копирует строку элемента управления форматом в выходной буфер по символам, начиная с первого символа в строке. При обнаружении спецификации формата в строке функция получает значение следующего доступного аргумента (начиная с первого аргумента в списке), преобразует это значение в указанный формат и копирует результат в выходной буфер. Функция продолжает копировать символы и расширять спецификации формата таким образом, пока не достигнет конца строки элемента управления форматированием. Если аргументов больше, чем спецификаций формата, дополнительные аргументы игнорируются. Если аргументов недостаточно для всех спецификаций формата, результаты будут неопределенными.

Примечание

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

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header winuser.h (включая Windows.h)
Библиотека User32.lib
DLL User32.dll

См. также раздел

Основные понятия

Справочные материалы

StringCbPrintf

StringCbPrintfEx

StringCbVPrintf

StringCbVPrintfEx

StringCchPrintf

StringCchPrintfEx

StringCchVPrintf

StringCchVPrintfEx

Строки

wsprintf