Средства ввода-вывода


Потоковый ввод-вывод


FILE *fp;

fp=fopen (имя_файла, режим_открытия);

fp=fopen (data.txt ”, “r”);


“w” – новый файл открывается для записи. Если он уже существовал, то предыдущее содержимое стирается;

“r” – существующий файл открывается только для чтения.

“a” – файл открывается для добавления в него новой порции информации. Если файл не существовал, то он создается.

“w+” – новый файл открывается для записи и последующих многократных исправлений. Существующий файл затирается. Последующее редактирование файла допускается в любом месте файла, в том числе и в конце, т.е. файл может увеличиваться (расти).

“r+” – существующий файл открывается как для чтения, так и для записи в любом месте файла, за исключением его конца. Т.е. увеличение файла недопустимо.

“a+” – файл открывается или создается и становится доступным для изменений, т.е. для записи и чтения в любом месте.


Ввод-вывод в стандартные файлы


getchar() / putchar() - ввод-вывод отдельного символа­;

int getchar(void)

int putchar(int c)


gets() / puts() - ввод=вывод строки;

char * gets(char * s);

int puts(char * s);


scanf() / printf() - ввод-вывод в режиме форматирования данных;

int printf(const char * format, …);

int scanf(const char * format, …);


Работа с файлами на диске.


Строковый обмен с файлами.

int fputs(const char *s, FILE *stream);

char * fgets(const char *s, int n, FILE *stream);


Форматированный обмен с файлами.


int fprintf(указатель_на_поток, форматная_строка, список_переменных);

int fscanf(указатель_на_поток, форматная_строка, список_адресов_переменных);


Блочный (буферизованный) ввод-вывод


fread(void *buffer, int k, int n, FILE *stream);

fwrite(void *buffer, int k, int n, FILE * stream);