Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Каждая из функций vprintf принимает указатель на список аргументов, а затем форматирует и записывает указанные данные в определенное назначение. Функции различаются несколькими способами: в проверке параметров функции принимают однобайтовые или широкие символьные строки, назначение выходных данных и поддержку указания параметров заказа используются в строке формата.
_vcprintf, _vcwprintf
vfprintf, vfwprintf
_vfprintf_p, , _vfprintf_p_l_vfwprintf_p_vfwprintf_p_l
vfprintf_s, , _vfprintf_s_lvfwprintf_s_vfwprintf_s_l
vprintf, vwprintf
_vprintf_p, , _vprintf_p_l_vwprintf_p_vwprintf_p_l
vprintf_s, , _vprintf_s_lvwprintf_s_vwprintf_s_l
_vscprintf, , _vscprintf_l_vscwprintf_vscwprintf_l
_vsnprintf, , _vsnwprintfvsprintfvswprintf
_vsprintf_p, , _vsprintf_p_l_vswprintf_p_vswprintf_p_l
vsprintf_s, , _vsprintf_s_lvswprintf_s_vswprintf_s_l
Замечания
Функции vprintf выполняют те же действия, что и перечисленные в следующей таблице аналоги. Но при этом каждая функция vprintf принимает указатель на список аргументов, а их аналоги — сам список аргументов.
Эти функции форматируют данные для вывода в назначение, как описано ниже.
| Function | Функция-аналог | Назначение выходных данных | Проверка параметров | Поддержка позиционных параметров |
|---|---|---|---|---|
_vcprintf |
_cprintf |
console | Проверка значений null. | no |
_vcwprintf |
_cwprintf |
console | Проверка значений null. | no |
vfprintf |
fprintf |
stream |
Проверка значений null. | no |
vfprintf_p |
fprintf_p |
stream |
Проверка значений null и допустимого формата. | yes |
vfprintf_s |
fprintf_s |
stream |
Проверка значений null и допустимого формата. | no |
vfwprintf |
fwprintf |
stream |
Проверка значений null. | no |
vfwprintf_p |
fwprintf_p |
stream |
Проверка значений null и допустимого формата. | yes |
vfwprintf_s |
fwprintf_s |
stream |
Проверка значений null и допустимого формата. | no |
vprintf |
printf |
stdout |
Проверка значений null. | no |
vprintf_p |
printf_p |
stdout |
Проверка значений null и допустимого формата. | yes |
vprintf_s |
printf_s |
stdout |
Проверка значений null и допустимого формата. | no |
vwprintf |
wprintf |
stdout |
Проверка значений null. | no |
vwprintf_p |
wprintf_p |
stdout |
Проверка значений null и допустимого формата. | yes |
vwprintf_s |
wprintf_s |
stdout |
Проверка значений null и допустимого формата. | no |
vsprintf |
sprintf |
память, на которую указывает buffer |
Проверка значений null. | no |
vsprintf_p |
sprintf_p |
память, на которую указывает buffer |
Проверка значений null и допустимого формата. | yes |
vsprintf_s |
sprintf_s |
память, на которую указывает buffer |
Проверка значений null и допустимого формата. | no |
vswprintf |
swprintf |
память, на которую указывает buffer |
Проверка значений null. | no |
vswprintf_p |
swprintf_p |
память, на которую указывает buffer |
Проверка значений null и допустимого формата. | yes |
vswprintf_s |
swprintf_s |
память, на которую указывает buffer |
Проверка значений null и допустимого формата. | no |
_vscprintf |
_vscprintf |
память, на которую указывает buffer |
Проверка значений null. | no |
_vscwprintf |
_vscwprintf |
память, на которую указывает buffer |
Проверка значений null. | no |
_vsnprintf |
_snprintf |
память, на которую указывает buffer |
Проверка значений null. | no |
_vsnwprintf |
_snwprintf |
память, на которую указывает buffer |
Проверка значений null. | no |
Аргумент argptr имеет тип va_list, который определен в VARARGS.H и STDARG.H. Переменная argptr должна быть инициализирована va_start и может быть повторно инициализирована последующими va_arg вызовами. argptr Затем указывает на начало списка аргументов, которые преобразуются и передаются для вывода в соответствии с соответствующими спецификациями в аргументеformat. format имеет ту же форму и функцию, что format и аргумент для printf. Ни один из этих функций не вызывается va_end. Более полное описание каждой функции vprintf вы найдете в описании соответствующей функции-аналога, указанной в таблице выше.
_vsnprintf отличается от vsprintf того, что он записывает не более count байтов bufferв .
Версии этих функций с инфиксом w в имени — это широко символьные версии соответствующих функций без infix; в каждой из этих расширенных символьных функций buffer и format являются строками широкого символа. Во всем остальном двухбайтовые версии функций работают полностью так же, как и соответствующие функции для однобайтовой кодировки.
Версии этих функций с суффиксами _s и _p суффиксами являются более безопасными версиями. Эти версии проверяют строки формата. Они создают исключение, если строка форматирования не является хорошо сформированной (например, если используются недопустимые символы форматирования).
Версии этих функций с суффиксом _p позволяют указать порядок, в котором указанные аргументы заменяются строкой формата. Дополнительные сведения см. в разделе Позиционные параметры printf_p.
Для vsprintf, vswprintfи _vsnwprintf, _vsnprintf если копирование происходит между строками, которые перекрываются, поведение не определено.
Внимание
Убедитесь, что format не является строкой, определяемой пользователем. Дополнительные сведения см. в разделе "Избегание переполнения буфера". Если используется безопасная версия этих функций ( _s либо суффиксы _p ), строка формата, предоставляемая пользователем, может активировать недопустимое исключение параметров, если указанная пользователем строка содержит недопустимые символы форматирования.
См. также
Потоковый ввод-вывод
fprintf, , _fprintf_lfwprintf_fwprintf_l
printf, , _printf_lwprintf_wprintf_l
sprintf, , _sprintf_lswprintf, _swprintf_l__swprintf_l
va_arg, , va_copyva_endva_start