ВУЗ:
Составители:
9
записи в начало каталога rewinddir(), определения текущей позиции указа-
теля чтения каталога telldir() и перемещения этого указателя в заданную
позицию seekdir().
В следующем примере создается жесткая ссылка файла stat_ex.c на
файл с новым именем link_ex.c. При после создания ссылки функцией
link("stat_ex.c","link_ex.c") в структуре statf фиксируется со-
стояние исходного файла, затем
число жестких ссылок из структуры выводится
на экран. После этого жесткая ссылка уничтожается (функцией
unlink("link_ex.c")) и снова выводится счетчик жестких ссылок.
/* Пример использования функций link() и stat() */
#include <unistd.h>
#include <sys/stat.h>
main()
{
struct stat statf;
if(link("stat_ex.c","link_ex.c") == -1) {
perror("Ошибка link");
return 1;
}
if(stat("stat_ex.c",&statf)) {
perror("Ошибка stat");
return 1;
}
printf("Количество ссылок = %d\n",statf.st_nlink);
if(unlink("link_ex.c")) {
perror("Ошибка unlink");
return 1;
}
if(stat("stat_ex.c",&statf)) {
perror("Ошибка stat");
return 1;
}
printf("Количество ссылок = %d\n",statf.st_nlink);
puts("Конец программы");
}
Следующий пример иллюстрирует возможность изменения режима досту-
па к файлу. В
начале программы при вызове функции
access("acc_ex.c", F_OK | !X_OK) для файла acc_ex.cc выполняется
проверка существует - ли файл (флаг F_OK) и запрещен - ли доступ на выполне-
ния (флаг !X_OK) для вызывающего функцию процесса. Если файл существует,
а доступ на выполнение запрещен, то функция возвращает значение ноль (вы-
полнение заданных флагами условий). В
этом случае для установки новых зна-
чений прав доступа вызывается функция
chmod("acc_ex.c",S_IRUSR|S_IWUSR|S_IXUSR|S_IROTH|S_IRGRP).
записи в начало каталога rewinddir(), определения текущей позиции указа- теля чтения каталога telldir() и перемещения этого указателя в заданную позицию seekdir(). В следующем примере создается жесткая ссылка файла stat_ex.c на файл с новым именем link_ex.c. При после создания ссылки функцией link("stat_ex.c","link_ex.c") в структуре statf фиксируется со- стояние исходного файла, затем число жестких ссылок из структуры выводится на экран. После этого жесткая ссылка уничтожается (функцией unlink("link_ex.c")) и снова выводится счетчик жестких ссылок. /* Пример использования функций link() и stat() */ #include#include main() { struct stat statf; if(link("stat_ex.c","link_ex.c") == -1) { perror("Ошибка link"); return 1; } if(stat("stat_ex.c",&statf)) { perror("Ошибка stat"); return 1; } printf("Количество ссылок = %d\n",statf.st_nlink); if(unlink("link_ex.c")) { perror("Ошибка unlink"); return 1; } if(stat("stat_ex.c",&statf)) { perror("Ошибка stat"); return 1; } printf("Количество ссылок = %d\n",statf.st_nlink); puts("Конец программы"); } Следующий пример иллюстрирует возможность изменения режима досту- па к файлу. В начале программы при вызове функции access("acc_ex.c", F_OK | !X_OK) для файла acc_ex.cc выполняется проверка существует - ли файл (флаг F_OK) и запрещен - ли доступ на выполне- ния (флаг !X_OK) для вызывающего функцию процесса. Если файл существует, а доступ на выполнение запрещен, то функция возвращает значение ноль (вы- полнение заданных флагами условий). В этом случае для установки новых зна- чений прав доступа вызывается функция chmod("acc_ex.c",S_IRUSR|S_IWUSR|S_IXUSR|S_IROTH|S_IRGRP). 9
Страницы
- « первая
- ‹ предыдущая
- …
- 7
- 8
- 9
- 10
- 11
- …
- следующая ›
- последняя »