Программирование в стандарте POSIX


         

Добавим флаг обеспечения целостности файла


#include
#include
#include
#include
#include
#define LOGFILE "my_logfile"
int main (void) {
int fd;
int flags;
assert ((fd = open (LOGFILE, O_WRONLY | O_CREAT
| O_APPEND, S_IRWXU)) > 2);
printf ("До перенаправления стандартного вывода
в файл " LOGFILE "\n");
close (1);
assert (fcntl (fd, F_DUPFD, 1) == 1);
close (fd);
printf ("После перенаправления стандартного
вывода в файл " LOGFILE "\n");
/* Добавим флаг обеспечения целостности файла */
/* при записи */
assert ((flags = fcntl (1, F_GETFL, 0)) != -1);
assert (fcntl (1, F_SETFL, flags | O_SYNC) != -1);
fprintf (stderr, "До перенаправления стандартного
протокола на стандартный вывод\n");
close (2);
assert (fcntl (1, F_DUPFD, 2) == 2);
fprintf (stderr, "После перенаправления
стандартного протокола на стандартный вывод\n");
close (1);
close (2);
return (0);
}

Содержание  Назад  Вперед