
- •Учебно – методическая карта занятия №7
- •Литература:
- •I. Организационный момент
- •II. Актуализация ранее приобретенных опорных знаний
- •III. Организация усвоения материала
- •Подведение итогов занятий
- •1. Текстовые и бинарные (двоичные) файлы
- •2. Стандартные потоки
- •3. Функции ввода и вывода символов
- •4. Функции ввода и вывода строк
- •5. Функции открытия и закрытия файлового потока.
- •6. Функции файлового ввода и вывода
- •7. Функции позиционирования
3. Функции ввода и вывода символов
Эта группа функций ввода-вывода на самом деле реализована в виде макросов.
1) Макрос getc() возвращает следующий символ из заданного входного потока и увеличивает указатель входного потока так чтобы он указывал на следующий символ. В случае успеха getc() возвращает считанный символ, преобразованный в тип int без знака. Если прочитан конец файла или произошла ошибка, он возвращает EOF. Прототип этого макроса следующий:
int getc(FILE *stream);
2) Макрос getchar() имеет следующий прототип:
int getchar();
Этот макрос определен как getc (stdin). С помощью этого макроса из стандартного входного потока stdin считывается очередной символ и его значение преобразуется в тип int без учета знака. Если переадресация стандартного входного потока не производилась, то ввод осуществляется с клавиатуры. В пропротивном случае ввод будет осуществляться из файла, назначенного для входного потока и указанного в командной строке при вызове программы.
3) Макрос putc() имеет следующий прототип:
int putc(int с, FILE *stxeam) ;
Он выводит символ в поток, заданный параметром stream. В случае успеха putc() возвращает выводимый символ с, препреобразованный к типу int; в случае ошибки - EOF.
4) Макрос putchar() имеет следующий прототип:
int putchar(int с) ;
Этот макрос определяется как putc(c, stdout). В случае успеха он возвращает символ с, преобразованный к типу int. В случае ошибки он возвращает EOF.
4. Функции ввода и вывода строк
а) Неформатированный ввод или вывод.
1) Функция gets() имеет следующий прототип:
char *gets(char *s);
Она выполняет считывание строки символов из стандартного входного потока и помещает их в переменную s. Символ перехода на новую строку ' \n' заменяется символом ' \0' при помещении в строку s.
Функция puts () имеет следующий прототип:
int puts(const char *s);
Она выводит строку в стандартный выводной поток и добавляет символ перевода на новую строку ' \n'. В случае успеха puts() возвращает неотрицательное значение. В противном случае она возвращает EOF.
Пример использования функции вывода строк:
#include <stdio.h>
int main()
{
char* string = "Выводимая строка" ;
puts(string);
return 0;
}
Сам. работа (стр 186- 201)
б) Форматированный ввод или вывод
Функция scanf ()
Функция sscanf()
Функция printf()
Функция sprintf 0
5. Функции открытия и закрытия файлового потока.
Перед тем, как выполнять операции ввода и вывода в файловый поток, нужно его открыть.
1) Открытие файлового потока - функция fopen().
Эта функция имеет следующий прототип:
FILE *fopen(const char *filename,
const char *mode);
Она открывает файл с именем filename и связывает с ним поток. Параметр mode является строкой, задающей режим, в котором открывается файл. (см. табл. стр. 202).
По завершении работы с потоком он должен быть закрыт.
2) Закрытие потока - функция fclose(), имеет следующий прототип:
int fclose(FILE *stream);