Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
прога.docx
Скачиваний:
7
Добавлен:
16.04.2019
Размер:
149.14 Кб
Скачать

Ifstream имя_потока(имя_файла,ios::in);

Синтаксис определения файлового потока для добавления данных в конец файла :

ofstream имя_потока(имя_файла,ios::app);

Синтаксис чтения данных из файла:

Файловый_поток >> имена_переменных;

Синтаксис вывода данных в файл:

Файловый_поток << выводимые_данные;

  1. Понятие текстовых и бинарных файлов. Открытие файлов в стиле языка с: синтаксис,

семантика, примеры

Текстовые файлы состоят из строк символов и предназначены для чтения человеком. На диске текстовые файлы хранятся в виде сплошной последовательности символов, и их деление на строки становится заметным лишь в момент вывода на экран или на печать, так как именно при выводе управляющие символы (например, \n) начинают выполнять свои функции.

Бинарный файл – это последовательность байтов, однозначно соответствующая последовательности байтов, записанной на внешнем устройстве

При открытии файлов порция информации из дискового файла поступает в буфер и указатель на поток получает адрес буфера.

В языке С файлы открываю с помощью функции fopen(). Функция fopen() имеет два параметра. Первый параметра является строковой константой, которая задает имя файла и путь к нему. Второй параметр – тоже строковая константа – задает режим доступа к файлу. Режим доступа описывает две составляющие: способ доступа (чтение или запись) и тип файла (текстовый или двоичный).

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

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

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

-Объявить указатель на поток;

-Открыть файл функцией fopen() (т.е. связать указатель на поток с дисковым файлом и указать режим доступа r).

При попытке открыть существующий файл можно допустить ошибку в его имени или в указании пути к нужному файлу. Это вызывает ошибку выполнения программы. Следует предвидеть подобные ситуации и проводить проверку возможности открытия файла. Такую проверку осуществить довольно легко, так как функция fopen() возвращает значение указателя на поток в случае его успешного открытия и значение NULL (нулевой указатель), если доступ к файлу невозможен

  1. Понятие текстовых и бинарных файлов. Как создаются текстовые и бинарные файлы в стиле языка С

Прошлый вопрос посмотреть

  1. Функции ввода - вывода языка С для обработки текстовых файлов: синтаксис, семантика. Примеры посимвольной обработки текстовых файлов

Функции ввода - вывода для обработки текстовых файлов:

int fscanf (FILE *stream, форматная строка, список аргументов);

int fprintf (FILE *stream, форматная строка, список аргументов);

int fgetс(FILE *stream)

int fputс(char с, FILE *stream)

char *fgets(char *s, int size, FILE *stream)

int fputs(char *s, FILE *stream)

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

При работе с текстовыми файлами возможна их посимвольная или построчная обработка.

Функции fprintf() и fscanf() , fgetc() и fputc() используют для посимвольной обработки, а функции fgets() и fputs() для построчной обработки текстовых файлов.

Функции ввода-вывода fprintf() и fscanf() работают аналогчно функциям printf() и scanf(), но имеют дополнительный аргумент, являющийся указателем на файловый поток.

Функция fgetc () считывает символ из файла, открытого функцией fopen() в режиме чтения. Параметр stream является указателем на поток, возвращенным функцией fopen(). Функция fgetc() возвращает целочисленную переменную, младший байт которой содержит введенный символ. Если возникла ошибка, старший байт этой переменной равен нулю. Если при чтении обнаруживается конец файла, функция fgetc() возвращает константу EOF.

Функция fputc() записывает символ в файл, открытый с помощью функции fopen(). Параметр stream представляет собой указатель файла, возвращенный функцией fopen(), а аргумент является символом, подлежащим выводу. Указатель stream сообщает функции putc(), в какой именно файл следует произвести запись. Несмотря на то, что параметр имеет тип int, в файл записывается лишь младший байт. Если функция fputc() выполнена успешно, она возвращает символ, записанный ею в файл. В противном случае она возвращает константу EOF.