READ 2

中文man手册

目录

READ

NAME
æ¦è¿°
æè¿°
è¿åå¼
é误代ç
å¼å®¹äº
éå¶
åè§
[䏿çç»´æ¤äºº]
[ä¸æçææ°æ´æ°]
ãä¸å½linux论åmanæå页翻è¯è®¡åã:
è·

NAME

read - 卿件æè¿°ç¬¦ä¸æ§è¡è¯»æä½

æ¦è¿°

#include <unistd.h>

ssize_t read(int fd, void *buf, size_t count);

æè¿°

read() 仿件æè¿°ç¬¦ fd ä¸è¯»å count åèçæ°æ®å¹¶æ¾å¥ä» buf å¼å§çç¼å²åºä¸.

妿 count 为é¶,read()è¿å0,䏿§è¡å¶ä»ä»»ä½æä½. 妿 count 大äºSSIZE_MAX,é£ä¹ç»æå°ä¸å¯é¢æ.

è¿åå¼

æåæ¶è¿å读åå°çåèæ°(为é¶è¡¨ç¤ºè¯»å°æä»¶æè¿°ç¬¦), æ¤è¿åå¼åæä»¶å©ä½å- èæ°éå¶.å½è¿åå¼å°äºæå®çåèæ°æ¶ å¹¶ä¸æå³çé误;è¿å¯è½æ¯å ä¸ºå½åå¯è¯»åçå- èæ°å°äºæå®ç åèæ°(æ¯å¦å·²ç»æ¥è¿æä»¶ç»å°¾,æèæ£å¨ä»ç®¡éæèç»ç«¯è¯»åæ° æ®,æè read()被信å·ä¸æ). åçé误æ¶è¿å-1,å¹¶ç½® errno 为ç¸åºå¼.å¨è¿ç§æåµä¸æ æ³å¾ç¥æä»¶åç§»ä½ç½®æ¯å¦æåå.

é误代ç

EINTR

å¨è¯»åå°æ°æ®ä»¥åè°ç¨è¢«ä¿¡å·æä¸æ.

EAGAIN

ä½¿ç¨ O_NONBLOCK æ å¿æå®äºéé»å¡å¼è¾å¥è¾åº,ä½å½åæ²¡ææ°æ®å¯è¯».

EIO

è¾å¥è¾åºé误.å¯è½æ¯æ£å¤äºåå°è¿ç¨ç»è¿ç¨è¯å¾è¯»åå¶ æ§å¶ç»ç«¯,ä½è¯»æä½æ æ,æè被信å·SIGTTINæé»å¡, æèå¶è¿ç¨ç»æ¯å- ¤å¿è¿ç¨ç».ä¹å¯è½æ§è¡çæ¯è¯»ç£çæè ç£å¸¦æºè¿æ ·çåºå±è¾å¥è¾åºé误.

EISDIR

fd æåä¸ä¸ªç®å½.

EBADF

fd 䏿¯ä¸ä¸ªåæ³çæä»¶æè¿°ç¬¦,æè䏿¯ä¸ºè¯»æä½èæå¼.

EINVAL

fd æè¿æ¥ç对象ä¸å¯è¯».

EFAULT

buf è¶åºç¨æ·å¯è®¿é®çå°å空é´.

ä¹å¯è½åçå¶ä»é误,å·ä½æåµå fd æè¿æ¥ç对象æå³. POSIX å许 read å¨è¯»åäºä¸å®éçæ°æ®åè¢«ä¿¡å·æä¸æ,å¹¶è¿å -1(ä¸ errno 被设置为EINTR),æèè¿å已读åçæ°æ®é.

å¼å®¹äº

SVr4, SVID, AT&T, POSIX, X/OPEN, BSD 4.3

éå¶

å¨NFSæä»¶ç³»ç»ä¸,读åå°åæ°æ®ä»æ´æ°æ¶é´æ è®°,ä¹åçè°ç¨ ä¸å读åæå¡å¨ç«¯çæ°æ®.è¿æ¯å ä¸ºå®¢æ·ç«¯ææ°æ®æ¾å¨ç¼åé. ç±äºå¤§å¤æ°æåµä¸ä¸åå¨NFSæå¡å¨å客æ·ç«¯ç读æä½, æä»¥NFS客æ·å¿é¡»å°æ´æ°æ¶é´æ è®°çæä½æ¾å¨æå¡å¨ç«¯,è æ°æ®å¯ä»¥æ¾å¨å®¢æ·ç«¯çç¼åéçå¾ä»¥åæ´æ°.UNIXä¹å¯ä»¥ç¦ç¨ 客æ·ç«¯çç¼å- ,ä½é£æ ·çè¯å¤§å¤æ°æåµä¸ä¼å¯¼è´æå¡å¨æ§è½ä¸é.

åè§

close(2), fcntl(2), ioctl(2), lseek(2), readdir(2), readlink(2), select(2), write(2), fread(3)

[䏿çç»´æ¤äºº]

byeyear <love_my_love@263.net >

[ä¸æçææ°æ´æ°]

2002.02.02

ãä¸å½linux论åmanæå页翻è¯è®¡åã:

http://cmpp.linuxforum.net

è·

æ¬é¡µé¢ä¸æçç±ä¸æ man æå页计åæä¾ã
䏿 man æå页计åï¼https://github.com/man-pages-zh/manpages-zh