Как создать папку в 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 подходит для этого.