NAME
fread, fwrite - 二进制流的输入/输出
总览 (SYNOPSIS)
#include <stdio.h>
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
描述 (DESCRIPTION)
函数 fread 从 stream 指定 的 流 里面 读取 nmemb 个 数据单元, 每个 单元 有 size 个 字节, 然后 存放在 ptr 指定 的 数据区.
函数 fwrite 向 stream 指定 的 流 输出 nmemb 个 数据单元, 每个 单元 有 size 个 字节, 数据 来源 由 ptr 指针 指出.
相应的 无锁函数(non-locking) 参见 unlocked_stdio(3).
返回值 (RETURN VALUE)
fread 和 fwrite 返回 成功 读/写 的 单元数 (也就是说, 不是字节数). 如果 出现 错误 或 到达文件末尾, 函数 返回 缩小的 单元数 (或0).
fread 不能 区分 错误 和 文件末尾, 调用者 必须 通过 feof(3) 和 ferror(3) 判断 发生了 什么.
参考标准 (CONFORMING TO)
函数 fread 和 fwrite 遵循 ANSI X3.159-1989 (``ANSI C'').
另见 (SEE ALSO)
read(2), write(2), feof(3), ferror(3), unlocked_stdio(3)
#p#
NAME
fread, fwrite - binary stream input/output
SYNOPSIS
#include <stdio.h>
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
DESCRIPTION
The function fread reads nmemb elements of data, each size bytes long, from the stream pointed to by stream, storing them at the location given by ptr.
The function fwrite writes nmemb elements of data, each size bytes long, to the stream pointed to by stream, obtaining them from the location given by ptr.
For non-locking counterparts, see unlocked_stdio(3).
RETURN VALUE
fread and fwrite return the number of items successfully read or written (i.e., not the number of characters). If an error occurs, or the end-of-file is reached, the return value is a short item count (or zero).
fread does not distinguish between end-of-file and error, and callers must use feof(3) and ferror(3) to determine which occurred.
CONFORMING TO
The functions fread and fwrite conform to ANSI X3.159-1989 (``ANSI C'').
SEE ALSO
read(2), write(2), feof(3), ferror(3), unlocked_stdio(3)