4.1   Створення і знищення директорія

Операційна система MS-DOS включає ряд функцій для маніпуляції директоріями. Спеціальні функції дозволяють створити або видалити директорій, переглянути його вміст, визначити і змінити поточний накопичувач або директорій. Особливістю роботи з директоріями MS-DOS є те, що видалення або створення директорію, зміна поточного директорію можливі тільки в межах поточного накопичувача. Це іноді вимагає виконання додаткових операцій по установці потрібного накопичувача як поточного. Докладно структура директорія MS-DOS розглянута в 2.3.

На відміну від звичайного регулярного файлу файл директорія не може бути створений виконанням функцій fopen, ореn() або creat, не може відкриватися як файл для читання або запису. У зв’язку з особливою побудовою кореневого директорія, (кореневий директорій диска завжди існує і не містить елементів “.” і “. .”) розглянуті тут і далі функції відносяться тільки до субдиректорій. Створення і знищення файлу директорія виконують функції mkdir і rmdir.

#include <dir h>
int mkdir( const char *path )

Створює директорій по маршруту, що задається ASCIIZ-рядком, на якій вказує path. У випадку успіху повертається 0; у протилежному випадку повертається -1 і в зовнішню змінну errno записується код помилки. Спроба створення кореневого директорія є помилкою. Створений порожній директорій містить два елементи: елемент з ім’ям файлу “.” (використовується для посилання на поточних директорій); елемент з ім’ям файлу “. .” (використовується для посилання на батьківський директорій).

#include <dir.h>
int rmdir( const char *path )

Видаляє директорій по маршруту, що задається ASCIIZ-рядком, на якій вказує path. У випадку успіху повертається 0; у протилежному випадку він повертає -1 і в зовнішню змінну errno записується код помилки Спроба видалення кореневого або не порожнього директорія є помилкою.