div
eof
Развернуть Свернуть
Данная статья переведена автоматически. Наведите указатель мыши на предложения статьи, чтобы просмотреть исходный текст. Дополнительные сведения.
Перевод
Текст оригинала
Эта тема еще не получила оценку - Оценить эту тему

_vcprintf_p, _vcprintf_p_l, _vcwprintf_p, _vcwprintf_p_l

Writes форматировало результат на консоль с помощью указателя в список аргументов и поддерживает позиционных параметров в строке формата.

Важное примечание Важно

Этот API нельзя использовать в приложениях, выполняемых в Среда выполнения Windows. Дополнительные сведения см. в разделе Функции CRT не поддерживаются при /ZW.

int _vcprintf_p( const char* format, va_list argptr ); int _vcprintf_p_l( const char* format, locale_t locale, va_list argptr ); int _vcwprintf_p( const wchar_t* format, va_list argptr ); int _vcwprintf_p_l( const wchar_t* format, locale_t locale, va_list argptr );
format

Спецификация формата.

argptr

Указатель на список аргументов.

locale

Используемый языковой стандарт.

Для получения дополнительной информации см. Синтаксис описания формата: функции printf и wprintf.

Число символов, записанные или отрицательное значение, если возникает ошибка вывода. Если указатель format, обработчик вызывается недопустимого параметра, как описано в разделе Проверка параметров. Если среда выполнения может продолжить, свойство errno имеет значение EINVAL и возвращается -1.

Каждая из этих функций принимает указатель в список аргументов, а затем использует функцию _putch для форматирования и записи заданного данные на консоль. _vcwprintf_p (используется _putwch вместо _putch. версия _vcwprintf_p является _vcprintf_p. Она принимает в качестве аргумента характерную черту).

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

Каждый объект argument (если есть), преобразования и выдаваемом, соответствующие спецификации формата в format. Спецификация формата поддерживает позиционные параметры, чтобы можно было задать порядок, в котором используются аргументы в строке формата. Для получения дополнительной информации см. позиционных параметров printf_p.

Эти функции не переводят символы перевода чтроки сочетания канала в очереди возврата экипажа (CR-LF), если они были выдаваемом.

Примечание о безопасности Примечание по безопасности

Убедитесь, что format не является строкой, определяемой пользователем. Дополнительные сведения см. в разделе Как избежать переполнения буфера.

Эти функции проверяют указатель ввода и строка формата. Если format или argument или NULL, если строка формата содержит недопустимые символы форматирования, эти функции вызывается обработчик недопустимого параметра, как описано в разделе Проверка параметров. Если среда выполнения может продолжить, эти функции возвращают -1 и свойству errno задано значение EINVAL.

Универсальное текстовое сопоставление функций

Подпрограмма TCHAR.H

Не указаны _UNICODE и _MBCS

_MBCS задан

_UNICODE задан

_vtcprintf_p

_vcprintf_p

_vcprintf_p

_vcwprintf_p

_vtcprintf_p_l

_vcprintf_p_l

_vcprintf_p_l

_vcwprintf_p_l

Функция

Требуемый заголовок

_vcprintf_p , _vcprintf_p_l

<conio.h> и <stdarg.h>

_vcwprintf_p , _vcwprintf_p_l

<conio.h> и <stdarg.h>

Дополнительные сведения о совместимости см. в разделе Совместимость.

// crt_vcprintf_p.c
// compile with: /c
#include <conio.h>
#include <stdarg.h>

// An error formatting function that's used to print to the console.
int eprintf(const char* format, ...)
{
  va_list args;
  va_start(args, format);
  return _vcprintf_p(format, args);
}

int main()
{
   int n = eprintf("parameter 2 = %2$d; parameter 1 = %1$s\r\n",
      "one", 222);
   _cprintf_s("%d characters printed\r\n");
}
параметр 2 = 222; 1 = параметр - 38 символов напечатанных
Была ли вам полезна эта информация?
(1500 символов осталось)

Добавления сообщества

ДОБАВИТЬ
© 2013 Microsoft. Все права защищены.