Я хочу написать программу, которая проверяет наличие каталога; если этот каталог не существует, он создает в нем каталог и файл журнала, но если каталог уже существует, он просто создает новый файл журнала в этой папке.
Как я могу сделать это в C с Linux?
Ответ 1
Посмотрите stat
для проверки наличия каталога,
И mkdir
, чтобы создать каталог.
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
struct stat st = {0};
if (stat("/some/directory", &st) == -1) {
mkdir("/some/directory", 0700);
}
Вы можете увидеть руководство по этим функциям с помощью команд man 2 stat
и man 2 mkdir
.
Ответ 2
Вы можете использовать mkdir:
$man 2 mkdir
#include <sys/stat.h>
#include <sys/types.h>
int result = mkdir("/home/me/test.txt", 0777);