Logo CitForum CITForum на CD Форумы Газета Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

STDIO(3S)

НАЗВАНИЕ
stdio - стандартный пакет буферизованного ввода/вывода

СИНТАКСИС

	#include <stdio.h>
	
	FILE *stdin, *stdout, *stderr;

ОПИСАНИЕ
Макросы и функции, относящиеся к разделу 3S этого Справочника, предоставляют пользователю эффективные средства буферизованного ввода/вывода. Макросы getc(3S) и putc(3S) служат для быстрого ввода/вывода символов. Макросы getchar и putchar и функции более высокого уровня fgetc, fgets, fprintf, fputc, fputs, fread, fscanf, fwrite, gets, getw, printf, puts, putw и scanf ведут себя так, как если бы они использовали getc и putc. Обращения к макросам и функциям из данного пакета можно чередовать произвольным образом.

Файл и ассоциированный с ним механизм буферизации называются потоком. Поток описывается как указатель на переменную типа FILE. Функция fopen(3S) создает описатель потока и возвращает указатель на него. Этот указатель идентифицирует поток во всех последующих операциях. Обычно имеются три открытых потока с постоянными указателями, они описаны во включаемом файле <stdio.h> и связаны со стандартными открытыми файлами:

	stdin   стандартный ввод
	stdout  стандартный вывод
	stderr  стандартный протокол
Константа NULL (0) обозначает пустой указатель.

Целая константа EOF (-1) возвращается по достижении конца файла или в случае ошибки большинством из целочисленных функций, работающих с потоками (для получения детальной информации см. описания отдельных функций).

Целая константа BUFSIZ специфицирует размер буферов, используемых в конкретной реализации.

Любая программа, использующая данный пакет ввода/вывода, должна включать файл соответствующих макроопределений следующим образом:

	#include <stdio.h>

Функции и константы, упоминаемые в разделе 3S этого руководства, описаны в файле <stdio.h> и не требуют дальнейшего описания. Константы и следующие "функции" реализованы как макросы (переопределение этих имен опасно): getc, getchar, putc, putchar, ferror, feof, clearerr и fileno.

Потоки вывода, за исключением стандартного протокола stderr, по умолчанию буферизуются, если вывод производится в файл, и буферизуется построчно, если вывод производится на терминал. Стандартный протокол stderr по умолчанию не буферизуется, но использование функции freopen [см. fopen(3S)] приводит к тому, что стандартный протокол становится буферизованным или буферизованным построчно. Когда поток вывода не буферизован, данные выводятся в нужный файл или на терминал по мере поступления запросов на запись; когда поток вывода буферизован, байты накапливаются и записываются блоком. Когда поток вывода буферизован построчно, каждая выводимая строка выводится на терминал после заполнения строки (то есть как только выводится символ перевода строки или поступает запрос на ввод с терминала). Функции setbuf или setvbuf [см. setbuf(3S)] могут использоваться для изменения стратегии буферизации потоков.

СМ. ТАКЖЕ
open(2), close(2), lseek(2), pipe(2), read(2), write(2), ctermid(3S), cuserid(3S), fclose(3S), ferror(3S), fopen(3S), fread(3S), fseek(3S), getc(3S), gets(3S), popen(3S), printf(3S), putc(3S), puts(3S), scanf(3S), setbuf(3S), system(3S), tmpfile(3S), tmpnam(3S), ungetc(3S).

ДИАГНОСТИКА
Некорректный указатель на поток обычно приводит к тяжелым последствиям, возможно, к терминированию программы. Описания конкретных функций включают раз яснения возможных ошибочных ситуаций.

Новости мира IT:

Архив новостей

Последние комментарии:

Loading

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2009 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...


Вас интересует печать буклетов? Обращайтесь в «Первопечатник», здесь вам предложат самые выгодные условия печати.