Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СПО_экзамен.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
500.22 Кб
Скачать

5. Операции с файлами

Для открытия файла используется функция fopen(), которая имеет следующий прототип:

FILE * fopen( const char *имя_ файла, const char *режим ).

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

Для закрытия файла используется функция fclose(), которая имеет прототип:

Int fclose(FILE *fp)

Fp- это указатель на файл, возвращенный fopen().

file = fopen( file_name, "w" );//по умолчанию текстовый файл

while ((ch=getchar())!='.') { fprintf(file,"%c",ch); }fclose( file );

Запись в файл.

Для записи в файл используется функция fprintf(). Она имеет следующий прототип:

Int fprintf(FILE *fp, const char *форматная строка,…)

Fp- это указатель на файл, возвращенный fopen(), форматная строка определяет способ вывода последующих аргументов, содержит два типа элементов: спецификаторы формата и символы, записываемые в файл.

Так же есть функция putc(), которая читает символы с клавиатуры и записывает их в файл, пока не встретится точка. Имя файла указывается в командной строке.

Чтение из файла.

Функция getc() и fgetc() используются для чтения символов из открытого для чтения файла: Int fgetc(FILE *fp)

Эта функция возвращает EOF при достижении конца файла.

Так же для чтения можно использовать функцию fscanf(FILE *fp, const char *форматная строка,… ). Эта функция аналогична предыдущей.

file = fopen(cFilename, "rb"); //чтение двоичного файла

while(!feof(file)){ cCh = fgetc(file);if (cCh=='\n') iCount++;printf("%c",cCh);} fclose(file);

6. Организация данных на внешних носителях. Внешняя память на дисках

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

7. Файловая система fat. Структура и расположение системной информации файловой системы.

FAT (от англ. File Allocation Table — «таблица размещения файлов») — файловая система, используемая в операционных системах DOS и Windows. Логический диск, отформатированный в системе FAT, имеет следующие разделы:

загрузочный сектор;

таблица размещения файлов — собственно FAT (традиционно в двух экземплярах);

корневой каталог;

файлы.

Для хранения файлов всё доступное для них пространство разбивается на кластеры. Таблица размещения файлов содержит ячейки, каждая из которых указывает на определенный кластер на жестком диске. Если кластер принадлежит файлу, то его ячейка содержит номер следующей ячейки этого же файла. Если ячейка указывает на конец файла, она содержит значение «FFFF». Неиспользуемые кластеры помечены нулём. «Плохие» кластеры помечены специальным кодом.

Существует три версии FAT — FAT12, FAT16 и FAT32. Они отличаются количеством бит, отведённых для хранения номера кластера. FAT12 применяется в основном для дискет, FAT16 — для дисков малого объёма.

8. Структура boot

Сектор, содержащий загрузочную запись, является самым первым на логическом диске. Boot Record состоит из двух частей – disk parameter block (DPB) и system bootstrap (SB). Структура блоков параметров диска служит для идентификации физического и логического форматов логического диска, а загрузчик system bootstrap играет существенную роль в процессе загрузки DOS.

MBR (Master Boot) расположен в нулевом секторе (цилиндр 0, сторона 0, сектор 1). Здесь содержится информация о разделах диска – их количестве, типе (первичный или расширенный) и адресе начального сектора. Каждый логический раздел начинается с BR (Boot Record) – загрузочной записи, которая указывает на адрес сектора, содержащего загрузочный файл операционной системы.