Программа DIRCTL
Приведем исходный текст небольшой программы DIRCTL (листинг 3.2), использующий перечисленные выше функции.
Листинг 3.2. Файл dirctl\dirctl.cpp
#include <direct.h> #include <stdlib.h> #include <stdio.h> #include <conio.h>
void main(void) { // Константа MAXPATH задает максимальный // размер пути для каталога char current_dir[MAXPATH]; char test_dir[] = "TEST_DIR";
// Запоминаем текущий каталог getcwd (current_dir, MAXPATH);
// Пытаемся создать в текущем каталоге новый каталог if(!mkdir (test_dir)) { // Если удалось создать каталог, делаем его текущим chdir (test_dir); printf("\nКаталог создан, для удаления нажмите" "\n клавишу <Enter>, для сохранения - '0'"); if(getche() != '0') { // Для удаления только что созданного каталога // возвращаемся в каталог более высокого уровня chdir (current_dir); rmdir (test_dir); } }
// Если каталог с таким именем уже существует или // произошла другая ошибка при создании каталога, // выводим сообщение о невозможности создания каталога. else printf("\nНе могу создать каталог!"); }