WRITE(2) Linux Programmer's Manual WRITE(2) NAME write -å¨ä¸åæä»¶æè¿°ç¬¦ä¸å·è¡å¯«æä½ æ¦è¿° #include <unistd.h> ssize_t write(int fd, const void *buf, size_t count); æè¿° write åæä»¶æè¿°ç¬¦ fd æå¼ç¨çæä»¶ä¸å¯«å¥ å¾ buf éå§çç·©è¡åä¸ count å‐ ç¯çæ¸æ. POSIXè¦å®,ç¶ä½¿ç¨äºwrite()ä¹å¾åä½¿ç¨ read(),é£éº¼è®åå°çæè©²æ¯æ´æ°å¾çæ¸æ. ä½è«æ³¨æä¸¦ä¸æ¯ææçæä»¶ç³»çµ±é½æ¯ POSIXå¼å®¹ç. è¿åå¼ æåæè¿åæå¯«å¥çåç¯æ¸(è¥ç²é¶åè¡¨ç¤ºæ²æå¯«å¥æ¸æ). é¯èª¤æè¿å-1,並置errnoç²ç¸æå¼. è¥countç²é¶,å°æ¼æ®éæä»¶ç¡ä»»ä½å½±é¿,ä½å°ç¹æ®æä»¶ å°ç¢çä¸å¯é æç徿. é¯èª¤ä»£ç¢¼ EBADF fd 䏿¯ä¸ååæ³çæä»¶æè¿°ç¬¦æèæ²æä»¥å¯«æ¹å¼æé. EINVAL fd ææåçå°è±¡ä¸å¯å¯«. EFAULT buf ä¸å¨ç¨æ¶å¯è¨ªåå°å空éå§. EPIPE fd 飿¥å°ä¸å管é,æè奿¥åçè®æ¹åä¸ç«¯å·²éé.æ¤æå¯«é²ç¨ å°æ¥æ¶å° SIGPIPE ä¿¡è;妿æ¤ä¿¡è被æç²,é»å¡æå¿½ç¥,é£éº¼å°è¿åé¯èª¤ EPIPE. EAGAIN è®æä½é»å¡,ä½ä½¿ç¨ O_NONBLOCK æå®äºéé»å¡å¼è¼¸å¥è¼¸åº. EINTR å¨å¯«æ¸æä»¥å調ç¨è¢«ä¿¡è䏿·. ENOSPC fd æåçæä»¶æå¨çè¨åç¡å¯ç¨ç©ºé. EIO ç¶ç·¨è¼¯ä¸åç¯é»æç¼çäºåºå±¤è¼¸å¥è¼¸åºé¯èª¤. å¯è½ç¼çäºå¶ä»é¯èª¤,åæ±ºæ¼ fd æé£æ¥çå°è±¡. å¼å®¹æ¼ SVr4, SVID, POSIX, X/OPEN, 4.3BSD. SVr4ææªæ·»å äºä»¥ä¸é¯èª¤ä»£ç¢¼: EDEADLK, EFBIG, ENOLCK, ENOLNK, ENOSR, ENXIO, EPIPE,æèERANGE. å°æ¼SVr4æå¯è½å¨å¯«å¥é¨åæ¸ææç¼ç䏿·ä¸¦è¿åEINTR. åè¦ open(2), read(2), fcntl(2), close(2), lseek(2), select(2), ioctl(2), fsync(2), fwrite(3) [䏿çç¶è·äºº] byeyear <love_my_love@263.net > [ä¸æçææ°æ´æ°] 2002.02.07 ãä¸ålinuxè«å£manæåé ç¿»è¯è¨åã: http://cmpp.linuxforum.net è· æ¬é é¢ä¸æçç±ä¸æ man æåé è¨åæä¾ã 䏿 man æåé è¨åï¼https://github.com/man-pages-zh/manpages-zh Linux 2.0.32 13 January 1996 WRITE(2)