Книга: Linux программирование в примерах

4.1. Введение в модель ввода/вывода Linux/Unix

4.1. Введение в модель ввода/вывода Linux/Unix

Модель API Linux/Unix для ввода/вывода проста. Ее можно суммировать четырьмя словами. открыть, прочитать, записать, закрыть. Фактически, это имена системных вызовов: open(), read(), write(), close(). Вот их объявления:

#include <sys/types.h> /* POSIX */
#include <sys/stat.h> /* для mode_t */
#include <fcntl.h>    /* для flags для open() */
#include <unistd.h>   /* для ssize_t */
int open(const char *pathname, int flags, mode_t mode);
ssize_t read(int fd, void *buf, size_t count);
ssize_t write(int fd, const void *buf, size_t count);
int close(int fd);

В следующем и дальнейших разделах мы проиллюстрируем модель, написав очень простую версию cat. Она так проста, что даже не имеет опций; все, что она делает, — объединяет содержимое двух именованных файлов и выводит его в стандартный вывод. Она выводит минимум сообщений об ошибках. Написав, мы сравним ее с V7 cat.

Мы представим программу сверху вниз, начав с командной строки. В последующих разделах мы представим обработку ошибок, а затем перейдем к сущностным задачам, показав, каким образом осуществляется реальный файловый ввод/вывод.

Оглавление книги


Генерация: 0.475. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз