Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Programmirovanie_Shpory_moi.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.15 Mб
Скачать

62 Работа с файлами. Чтение и запись данных в файл. Посимвольный и построчный ввод-вывод

Запись - чтение информации

Все действия по чтению-записи данных в файл можно разделить на три группы: операции посимвольного ввода-вывода; операции построчного ввода-вывода; операции ввода-вывода по блокам.

Рассмотрим основные функции, применяемые в каждой из указанных трех групп операций.

Посимвольный ввод-вывод

В функциях посимвольного ввода-вывода происходит прием одного символа из файла или передача одного символа в файл: int fgetc(FILE *f) - считывает и возвращает символ из файла f;

int fputc(int ch, FILE *f) - записывает в файл f код ch символа.

Построчный ввод-вывод

В функциях построчного ввода-вывода происходит перенос из файла или в файл строк символов:

int fgets (char *S, int m, FILE *f) - чтение из файла f в строку S m байт;

int fputs (char *S, FILE *f) - запись в файл f строки S до тех пор, пока не встретится '\0', который в файл не

переносится и на символ '\n' не заменяется.

63 Работа с файлами. Чтение и запись данных в файл. Блоковый ввод-вывод

Блоковый ввод-вывод

В функциях блокового ввода-вывода работа происходит с целыми

блоками информации:

int fread (void *p, int size, int n, FILE *f)

- считывает n блоков по size байт каждый из файла f в область памяти с указателем p (не-

обходимо заранее отвести память под считываемый блок);

int fwrite (void *p, int size, int n, FILE *f)

- записывает n блоков по size байт каждый из области памяти с указателем p в файл f.

64 Работа с файлами. Чтение и запись данных в файл. Форматированный ввод-вывод

Форматированный ввод-вывод производится функциями:

int fscanf (FILE *f, char *формат, список адресов объектов)

- считывает из файла f информацию для объектов в соответствии с указанными форматами;

int fprintf (FILE *f, char *формат, список объектов)

- записывает в файл f объекты, указанные в списке в соответствии с форматами.

Данные функции аналогичны функциям scanf и printf, рассмотренным раньше, только добавлен параметр – указатель на файл.

65 Работа с файлами. Указатель текущей позиции в файле, его перемещение к нужной позиции.

Чтобы переместить указатель текущей позиции файла в новое положение, можно воспользоваться одним из следующих методов класса CFile - Seek, SeekToBegin, SeekToEnd. В состав класса CFile также входят методы, позволяющие установить и изменить длину файла, - GetLength, SetLength.При открытии файла указатель текущей позиции файла находится в самом начале файла. Когда порция данных прочитана или записана, то указатель текущей позиции перемещается в сторону конца файла и указывает на данные, которые будут читаться или записываться очередной операцией чтения или записи в файл.Чтобы переместить указатель текущей позиции файла в любое место, можно воспользоваться универсальным методом Seek. Он позволяет переместить указатель на определенное число байт относительно начала, конца или текущей позиции указателя. Чтобы переместить указатель в начало или конец файла, наиболее удобно использовать специальные методы. Метод SeekToBegin перемещает указатель в начало файла, а метод SeekToEnd - в его конец.

66 Графический режим. Функции черчения и заполнения. (arc, bar, bar3d, circle, drawpoly, ellipse, fillellipse, fillpoly, line, lineto, pieslice, rectangle, sector, setlinestyle, setfillstyle)

Черчение:

arc

Чертит дугу окружности.

circle

Чертит окружность.

drawpoly

Чертит контур многоугольника.

ellipse

Чертит эллиптическую дугу.

getarccoords

Возврашает координаты последнего вызова arc или ellipse.

getaspectratio

Возвращает коэффициент сжатия для текущего графического режима.

getlinesettings

Возвращает текущий стиль линии, шаблон линии и толщину линии.

line

Чертит линию из (x0,y0) в (x1,y1).

linerel

Чертит линию в точку, задаваемую относительным расстоянием от текущей позиции (CP).

lineto

Чертит линию из текущей позиции (CP) в (x,y).

moveto

Перемещает текущую позицию (CP) в (x,y).

moverel

Перемещает текущую позицию (CP) на относительное расстояние.

rectangle

Рисует прямоугольник.

setaspectratio

Изменяет коэффициент сжатия по умолчанию.

setlinestyle

Устанавливает ширину и стиль текущей линии.

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