Как создать папку в C (необходимо запустить как в Linux, так и в Windows)

У меня нет большого опыта, и я работаю над проектом C, где мне нужно создавать и удалять папки, и программа должна работать как в Linux, так и в Windows.

Я видел несколько решений, но все они были либо для Windows, либо для Linux, но не для обоих, и большинство использует систему (...).

Кроме того, если есть простой способ удалить папку с ее содержимым, меня интересует (на данный момент я удаляю каждый файл по одному, а затем папку с удалением (...)) Заранее спасибо.

3 ответа

Решение

Вот общий метод создания каталога:

void make_directory(const char* name) 
   {
   #ifdef __linux__
       mkdir(name, 777); 
   #else
       _mkdir(name);
   #endif
   }

Что касается удаления каталогов, вы на правильном пути, а именно:

на данный момент я удаляю каждый файл один за другим, а затем папку с удалением (...)

Это не то, что вы должны делать в рабочем коде, но я должен был упомянуть, что одно линейное решение не #ifdef и т.д. Я предполагаю, что вы запускаете его по тому же пути, в котором вы хотите создать каталог:

system("mkdir my_dir");

Как я знаю, вы можете использовать cd (изменить каталог) команда для создания папки. Вы можете использовать rmdir Команда для удаления пустых каталогов. Если вы хотите удалить каталог с его содержимым, используйте rm -rf name-of-the-directory, -rf указывает на принудительное удаление и делает это рекурсивно.

Вы можете использовать их с помощью командной строки, но если вы хотите сделать это программно, я бы сказал, что PHP подходит для этого.

Другие вопросы по тегам