Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Builder методичка часть 1.pdf
Скачиваний:
77
Добавлен:
16.03.2016
Размер:
1.88 Mб
Скачать

В приведенном примере чтение проводилось последовательно. Узнать текущую позицию указателя можно с помощью функции ftell. Для произвольного

чтения данных можно перемещать указатель в произвольную позицию с помощью функции fseek.

fseek(F, set, nn)

где F- указатель на файл; set – число байт, на которое производится сдвиг от точки отсчета; nn – точка отсчета (0 – начало файла; 1 – текущая позиция; 2 – конец файла).

Наиболее полезна эта функция в файлах, состоящих из записей одного размера.

7.1.2. Работа с использованием дескрипторов

В начале работы любой программы автоматически открываются три потока

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

У

со своими дескрипторами (входной клавиатура, выходной экранРи поток

сообщений об

ошибках).

 

Программно можно открывать новые файлы с

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Г

дескрипторами. Правила работы практически идентичны работеИс двоичными

файлами и различаются только синтаксисом.

 

 

Б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7.1.3. Работа с файлами в стиле С++

 

В C++ определены три класса файлового ввода/вывода: ifstream входные

 

 

 

 

 

 

 

 

 

 

 

 

а

 

 

данные для чтения; ofstream выходные ф йлы для з писи; fstream файлы для

чтения и записи.

 

 

 

 

 

 

 

 

 

 

 

 

 

Очень удобно применять следующ

 

опер ции: поместить в поток (<<) и

извлечь из потока (>>).

 

 

 

 

 

к

 

 

 

Пример программы:

 

 

 

т

 

 

 

#include <fstream.h>

 

 

 

 

 

 

 

 

 

ие

 

 

 

 

 

 

 

 

 

о

 

 

 

 

 

 

 

 

 

 

 

 

и

 

 

 

 

 

 

 

 

Memo1->Clear();

 

 

 

 

 

 

 

 

 

 

// Ввод данных в файл

 

 

 

 

 

 

 

 

 

 

б

 

 

 

 

 

 

 

 

 

 

 

ofstream lw ("a.text");

 

 

 

 

 

 

 

 

 

 

 

if (!lw)

 

 

 

л

 

 

 

 

 

 

 

 

 

 

{

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Memo1->Lines->Add("Файл не удалось создать ");

 

 

return;

и

 

 

 

 

 

 

 

 

 

 

 

 

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

int num=10;Б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

double k=5.67;

 

 

 

 

 

 

 

 

 

 

 

 

 

char s[20] = "ИНФОРМАЦИЯ";

lw << num << ' ' <<k << ' ' << s << endl; lw.close();

PDF created with pdfFactory Pro trial version www.pdffactory.com

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