Как проверить, существует ли файл или существует, но у меня нет разрешения на его чтение?Проверьте, не существует ли файл или разрешено ли разрешение C
Я знаю, что я могу использовать материал как perror()
или strerror(errno)
печатать сообщения, но если я хочу проверить, что я могу справиться, как это, как я могу это сделать:
if (not exist) {
create file;
}
else if (no permission) {
exit;
}
Это код, я работа над. Я думаю, err
всегда = -1, когда файл не существует или у меня нет разрешения, поэтому я не знаю, как с этим бороться.
int fdPath, n, err;
unsigned char buffer[4096];
char *path;
// get path
path = argv[1];
// get file descriptor from opening file
fdPath = open(path, O_RDWR);
err = read(fdPath, buffer, 4096); // read file in path
Попробуйте открыть файл и проверить errno. Он (не переносимый) скажет вам причину, если произошел сбой. –