Поделиться через


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

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

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

Синтаксис

int wvsprintfA(
  [out] LPSTR   unnamedParam1,
  [in]  LPCSTR  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