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


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

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

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

Синтаксис

int wvsprintfA(
  [out] LPSTR   unnamedParam1,
  [in]  LPCSTR  unnamedParam2,
  [in]  va_list arglist
);

Параметры

[out] unnamedParam1

Тип: LPTSTR

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

[in] unnamedParam2

Тип: LPCTSTR

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

[in] arglist

Тип: va_list

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

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

Тип: int

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

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

Замечания

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

Заметка

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка winuser.h (включая Windows.h)
библиотеки User32.lib
DLL User32.dll

См. также

концептуальные

Справочник

StringCbPrintf

StringCbPrintfEx

StringCbVPrintf

StringCbVPrintfEx

StringCchPrintf

StringCchPrintfEx

StringCchVPrintf

StringCchVPrintfEx

строки

wsprintf