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


Пример 5.15


#include <unistd.h> #include <stdio.h> #include <fcntl.h>

#define SOURCE_FILE "prnmyself.c" #define C_TERM "/dev/tty"

int main (void) { unsigned char buf [BUFSIZ]; int fdr, fdw; /* Дескрипторы для чтения и записи */ ssize_t nb; if (((fdr = open (SOURCE_FILE, O_RDONLY)) < 0) || ((fdw = open (C_TERM, O_WRONLY)) < 0)) { perror ("OPEN " SOURCE_FILE " or " C_TERM); return (1); } do { if ((nb = read (fdr, buf, BUFSIZ)) < 0) { perror ("READ"); break; } if (write (fdw, buf, nb) != nb) { perror ("WRITE"); break; } } while (nb == BUFSIZ); (void) close (fdw); (void) close (fdr); return (0); }

Листинг 5.15. Пример программы, использующей функции read() и write().

Закрыть окно






Начало  Назад  Вперед



Книжный магазин