FREAD(3S) FREAD(3S) НАЗВАНИЕ fread, fwrite - двоичный ввод/вывод СИНТАКСИС |#include |#include | |int fread (ptr, size, nitems, stream) |char *ptr; |size_t size; |int nitems; |FILE *stream; | |int fwrite (ptr, size, nitems, stream) |char *ptr; |size_t size; |int nitems; |FILE *stream; ОПИСАНИЕ Функция fread считывает nitems элементов данных из за- данного потока ввода stream в область памяти, на начало которой указывает аргумент ptr. Элементом данных счита- ется последовательность байт (не обязательно завершаю- щаяся нулевым байтом) длины size. Функция fread прекра- щает считывание байт в случае достижения конца файла, обнаружения ошибки, а также если считаны nitems элемен- тов. После выполнения функции fread текущей позицией в потоке становится байт, следующий за последним прочи- танным; содержимое потока stream не изменяется. Функция fwrite записывает не более nitems элементов данных из области памяти, на начало которой указывает аргумент ptr, в заданный поток вывода stream. В случае обнаружения ошибки fwrite прекращает запись. После вы- полнения функции fwrite текущей позицией в потоке ста- новится байт, следующий за последним записанным; содер- жимое записываемого массива не изменяется. Аргументом size, как правило, является sizeof(*ptr), где псевдофункция sizeof возвращает длину элемента дан- ных, адресуемых указателем ptr. Если аргумент ptr не является указателем на символ, его следует преобразо- вать к типу (char *). СМ. ТАКЖЕ read(2), write(2), fopen(3S), getc(3S), gets(3S), printf(3S), putc(3S), puts(3S), scanf(3S), stdio(3S). ДИАГНОСТИКА Функции fread и fwrite возвращают фактическое количест во прочитанных или записанных элементов данных. Если nitems меньше либо равно нулю, то ничего не считывается и не записывается, и обе функции возвращают нулевое значение.@