???????????????
???????????UNIX???????????????????????????Щ?????????????????????????????????????????????I/O??????????I/O????read??write??fread??fwrite??printf?????Щ???????????μ??????????????????????????????????????????????????????????????????????????????£?????????????????????????????????????????Щ???????????????????????????????????????????????Щ?????????????????????????????????????????????????????????Щ????????????????????????????????????????????????????????????????????????м????Щ????????????????????????????飬???????????????????????????????????Ч???????????ò???????????????????????????????????????μ????????????????????????????????????????ζ??????????????????????????????????????????????????磩
???????????????????UNIX??????????????I/O????I/O???μ??????????I/O???????????壬????????????????壬??????е??Σ??????????????????????????????????????????????????????а????????????????£???????????£??????????д?????????^_^
???????????????
?????????????CPU?????????????????????????????????????????????????д?????????????????????Ч???????????????????????洢?????Ч?????Ч??????????????????????????治??????????????汻???????????Web??????????????????????????????????????????á?
?????????????Linux??????????????????????????I/O????????????????????檔???????????I/O???棬?????????仺?棬??????????????????????棬???????????檔???????????棬?????????????????I/O???????I/O????棬????????“????I/O????”????????????в????ЩI/O???????л??壬?????????????????????????????????
??????????I/O????I/O
??????I/O????????I/O??????????I/O?????????????????????????????????????????????????????????????????????????????????0??1??2??????????????????????????????ЩUNIX???漲???????????????OPEN_MAX????Щ????????????????<unistd.h>?С???????д????????????open??create?????÷?????????????????????????????????????????read??write?????á?
????#include <unistd.h>
????ssize_t read(int filedes?? void *buf?? size_t nbytes);
????ssize_t write(int filedes?? const void *buf?? size_t nbytes);
???????I/O?????????I/O???????????????????????????stream?????????fopen??freopen???????????????????????FILE?????????????????????????????????FILE??????????????????????????????????????????????????????????????????????????????????????????????????????????????I/O???漲????????????????????????????????????д???????????????I/O??????????read??write?????????ú????????I/O????????????????????????????????????????á???Щ?????????????????????I/O???????е?I/O?????I/O???????????I/O????????????I/O??????????I/O?????????I/O????
????1?????????????I/O
????#include<sdio.h>
????/* ?????? */
????int getc(FILE *fp) -> ??
????int fgetc(FILE *fp) -> ????
????int getchar(void) ?????getc(stdin)
????/* ??????? */
????int putc(int c?? FILE *fp)
????int fputc(int c?? FILE *fp)
????int putchar(int c) ??Ч??putc(c?? stdout)
????2????????I/O
????#include <stdio.h>
????/* ?????? */
????char *fgets(char *restrict buf?? int n?? FILE *restrict fp)
????char *gets(char *buf)
????/* ??????? */
????int fputs(cont char *restrict str?? FILE *restrict fp)
????int puts(const char *str)
????3?????I/O
????#include <stdio.h>
????size_t fread(void *restrict ptr?? size_t size?? size_t nobj?? FILE *restrict fp)
????size_t fwrite(const void *restrict ptr?? size_t size?? size_t nobj?? FILE *restrict fp)
??????????????????????I/O????I/O??????????????????Щ?????I/O?????????????????????????μ???????????I/O??????????????????????????????????????????????????I/O?????е?????????????I/O??????I/O?????Ч?????????
???????I/O??????????

?????????????????????????????????д????????????????????????棬???????????????????????????????д??????????I/O??Ч???????д????????????????I/O??????????
????1????I/O?? ??????????????????漰?????????????б???????
????(3) ????write???????????д?????buf?д??????д??????????write(fd?? 'abc'?? 3)????????????????BUFFSIZE???????BUFFSIZE?????I/OЧ???????????????????
????(5) ???д?????????????????????????????д??????????????????д????????У???????????????????????????????????д??????
????(6) ?????????????????????????????????????ó?????????????????????????ó???????????Щ????????????????????????????????????????′????????????
????(4) ????read????????????????????????????????н??д????
?????????????I/O???漰?????????????