fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l

Форматированные данные печатью в поток.Эти версии fprintf, _fprintf_l, fwprintf, _fwprintf_l со службами расширений безопасности, как описано в разделе Средства безопасности в CRT.

int fprintf_s( 
   FILE *stream,
   const char *format [,
   argument ]...
);
int _fprintf_s_l( 
   FILE *stream,
   const char *format,
   locale_t locale [,
   argument ]...
);
int fwprintf_s( 
   FILE *stream,
   const wchar_t *format [,
   argument ]...
);
int _fwprintf_s_l( 
   FILE *stream,
   const wchar_t *format,
   locale_t locale [,
   argument ]…
);

Параметры

  • stream
    Указатель на FILE структура.

  • format
    Строка Формат-элемента управления.

  • argument
    Необязательные аргументы.

  • locale
    Языковой стандарт, который необходимо использовать.

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

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

Заметки

fprintf_s форматы и ряд символов и введите значения в выход stream*.* Каждая функция argument (если таковые имеются), преобразования и выход в соответствии с соответствующим спецификации формата in format*.* Для fprintf_s" format аргумент имеет тот же синтаксис и использование, которую он имеет in printf_s.

fwprintf_s версия расширенных символов fprintf_s; IN fwprintf_s" format строка символов.Эти функции работают одинаково, если поток открыт в режиме ansi-совместимости.fprintf_s в настоящее время не поддерживает выходные данные в поток в юникоде.

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

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

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

Как non-безопасные версии (см. fprintf, _fprintf_l, fwprintf, _fwprintf_l), эти функции проверяют их параметры и вызывают недопустимый обработчик параметра, как описано в разделе Проверка параметровесли такой stream OR format указатель null.Эти функции отличаются от non-безопасных версий в том, что сама строка форматирования также проверяется.Если какой-либо неизвестен или неправильно сформировано форматирование описатели, то эти функции создают недопустимое исключение параметра.Во всех случаях, если выполнение разрешается продолжить, равен -1, и набор функций errno В EINVAL.См. _doserrno, errno, _sys_errlist и _sys_nerr дополнительные сведения об этих и других, кодов ошибок.

Сопоставления подпрограммы Родов-Текста

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

_MBCS не заданные _UNICODE &

Указанный символ _MBCS

Указанный _UNICODE

_ftprintf_s

fprintf_s

fprintf_s

fwprintf_s

_ftprintf_s_l

_fprintf_s_l

_fprintf_s_l

_fwprintf_s_l

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

Требования

Функция

Обязательный заголовок

fprintf_s, _fprintf_s_l

<stdio.h>

fwprintf_s, _fwprintf_s_l

<stdio.h> OR <wchar.h>

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

Пример

// crt_fprintf_s.c
// This program uses fprintf_s to format various
// data and print it to the file named FPRINTF_S.OUT. It
// then displays FPRINTF_S.OUT on the screen using the system
// function to invoke the operating-system TYPE command.
 
#include <stdio.h>
#include <process.h>

FILE *stream;

int main( void )
{
   int    i = 10;
   double fp = 1.5;
   char   s[] = "this is a string";
   char   c = '\n';

   fopen_s( &stream, "fprintf_s.out", "w" );
   fprintf_s( stream, "%s%c", s, c );
   fprintf_s( stream, "%d\n", i );
   fprintf_s( stream, "%f\n", fp );
   fclose( stream );
   system( "type fprintf_s.out" );
}
  

Эквивалент в .NET Framework

System:: Ввода-вывода:: StreamWriter:: запись

См. также

Ссылки

Поток ВВОДА-ВЫВОДА

_cprintf, _cprintf_l, _cwprintf, _cwprintf_l

fscanf, _fscanf_l, fwscanf, _fwscanf_l

sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l