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

30 Обращение к файлам. Поиск и замена в файле. Приведите пример программ обработки файлов.

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

Объявление файла

FILE *идентификатор;

Пример

FILE *f;

Открытие файла:

fopen(имя физического файла, режим доступа)

Режим доступа — строка, указывающая режим открытия файла файла и тип файла

Типы файла: бинарный (b); текстовый (t)

Значение Описание

r Файл открывается только для чтения

w Файл открывается только для записи. Если соответствующий физический файл существует, он будет перезаписан

a Файл открывается для записи в конец (для дозаписи) или создается, если не существует

Например; Дано имя файла и вещественные числа A и D. Создать файл вещественных чисел с данным именем и записать в него 10 первых членов арифметической прогрессии с начальным членом A и разностью D: A, A + D, A + 2•D, A + 3•D, … .

#include<iostream.h>

#include<conio.h>

#include<stdio.h>

Void main()

{int i, n=10, a,d,k;

char fname[]="c:\\number.txt";

FILE*fp;

fp=fopen(fname,"w");

cin>>a>>d;

for(i=1;i<=n;i++)

{k=a+d*i;

fprintf(fp,"%i",k);}

fclose(fp);

}

Для записи файла и последующего чтения его, нам понадобятся объекты классов ifstream ofstream.

Для использования возможности работы с файлами необходимо включить файл #include<fstream.h>

Если при iostream ввод cin, а вывод cout, то при fstream ifstream in ofstream out.

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

In.open (“input.txt”)

Out.open (“input.txt”)

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

Чтобы вывести значение переменной Х в поток out используется следующая операция

Out<<x;

А чтобы считать значение переменной из потока используется

in>>x;

Для закрытия раннего открытого файла используется метод close(). In.close() out.close()

Закрытый файловый поток можно переоткрыть заново при помощи метода open, привязав его к тому же или другому файлу

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]