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


         

unsigned char buf


#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().
Закрыть окно



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