¥Ç¥Ð¥Ã¥°»þ¤Ë¤Ïopen()¤ÎÃæ¤Çprintf("open() ¤¬¸Æ¤Ð¤ì¤Þ¤·¤¿¡£°ú¿ô¤Ï%s %d %d¤Ç¤¹\n",,); ¤È¤«¤ä¤ê¤¿¤¯¤Ê¤ê¤Þ¤¹¤¬¡¢¥Þ¥Ë¥å¥¢¥ë(10.3.3Àá)¤Ë¤ÏFILE·Ï´Ø¿ô¤ÏÁ´Á³¥ê¥¨¥ó¥È¥é¥ó¥È¤¸¤ã¤Ê¤¤¤¾ ¤È¤¢¤ê¤Þ¤¹¡£fp¤«fd¤¬°Û¤Ê¤ì¤ÐÊ¿µ¤¤Êµ¤¤¬¤·¤Þ¤¹¤¬¡¢ÆÈ¼«¤Î½ÐÎϥ롼¥Á¥ó¤òÍѰդ·¤¿¤Û¤¦¤¬ ̵Æñ¤Ç¤¹¡£Åö¥µ¥¤¥ÈÆâ¤Ë¤¢¤ëOUT_STRING()¤Ê¤ó¤«¤¤¤«¤¬¡©
int
read(int fd,char *buf,unsigned int cnt)
{
switch(fd) {
case 0 : return( readSTDIN(fileno,buf,cnt));
case: USBPIPE0FD : return( readUSB (fileno,buf,cnt));
case: LANPIPE0FD : return( readLAN (fileno,buf,cnt));
}
return(-1)
}
¤Ç¿¶¤ê½Ð¤¹¤ÈÎɤ¤¤Ç¤·¤ç¤¦¡£¤µ¤é¤ËreadSTDIN()¤Î¸å¤í¤Î¤Û¤¦¤Ç¥¨¥³¡¼¥Ð¥Ã¥¯¤Ë
_start()
{
for(i=0;i<10;i++) clearFP(&_iob[i]); /*_iob[0]¤È_iob[1]¤ÏÈù̯¤Ç¤¹*/
}
clearFP(FILE *fp)
{
char *cp;
cp=(char *)fp;
for(i=0;i<20;i++) *cp++=0 ; /*FILE¹½Â¤ÂΤÏ19(¥Ñ¥Ç¥£¥ó¥°¤Ç20)¥Ð¥¤¥È¤Ç¤¹*/
}
fopen(char *fileName,char *mode)¤Ç¤¹¤¬¡¢fileName¤Ï¤½¤Î¤Þ¤Þopen()¤ËÅϤµ¤ì¤ë¤À¤±¤Ç¤¹¤«¤é¡¢¹¥¤¾¡¼ê¤Ë ºî¤Ã¤Æ¹½¤¤¤Þ¤»¤ó¡£¡Ö¤¤¤ä¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òºÜ¤»¤¿¤¤¡×¤È¤¤¤¦Êý¤Ï"/dev/tty"¤È¤«"tty:"¤È¤« ¥Ç¥Ð¥¤¥¹¥Õ¥¡¥¤¥ë¤Ç¤¢¤ë¤³¤È¤¬¤ï¤«¤ë¤è¤¦¤Ë¤·¤Æ¤ª¤¯¤È¤¤¤¤¤«¤â¡£
mode¤ÏºÇÂ绰ʸ»ú¤Îʸ»úÎó¤Ç¤ÇUNIX½àµò¤È»×¤ï¤ì¤Þ¤¹¡£¤³¤Îmode¤Ë±þ¤¸¤ÆO_RDONLY¤È¤«O_CREAT¤È¤«¤¬open()¤Ë ÅϤµ¤ì¤Þ¤¹¡£(¤¬¥Ç¥Ð¥¤¥¹¤Ë¤è¤Ã¤Æ¤Û¤Ü¸ÇÄê¤Ç¤·¤ç¤¦¤«¤é open()¦¤Ç̵»ë¤·¤Æ¤â¤¤¤¤¤Î¤Ç¤Ï¤Ê¤¤¤«¤È¡Ä)
- °ìʸ»úÌÜ¡Ä'r','w','a'¤Î¤É¤ì¤«
- Æóʸ»úÌܡĤʤ·¤«'+'
- »°Ê¸»úÌܡĤʤ·¤«'b'
DOS·ÏC½èÍý·Ï¤Ç'b'¤Ê¤·¤À¤ÈCR/LFÊÑ´¹¤·¤¿¤êCNTL-Z¤ÇEOF¤¬Î©¤Ã¤¿¤ê¤·¤Þ¤¹¤¬ H8¤Ç¤Ï'b'¤¬¤¢¤Ã¤Æ¤â¤Ê¤¯¤Æ¤âƱ¤¸¤ß¤¿¤¤¤Ç¤¹¡£
type¤Ï£³¼ïÎढ¤Ã¤Æ
type fputs()»þưºî fflush()/fclose()»þưºî _IOFBF buf¤¬size¤òͤ¨¤ë»þ¤Ë¸Â¤êwrite()¤¬size¤Ç¸Æ¤Ð¤ì¤Þ¤¹ »Ä¤Ã¤¿¥µ¥¤¥º(size°Ê²¼¡£È¾Ã¼¤Ç¤¹)¤Çwrite()¤¬¸Æ¤Ð¤ì¤Þ¤¹ _IOLBF buf¤ËLF¤ò½ñ¤¹þ¤ó¤À¤È¤(Ãí) ¡¢buf¤¬size¤òͤ¨¤ë»þwrite()¤¬¸Æ¤Ð¤ì¤Þ¤¹ »Ä¤Ã¤¿¥µ¥¤¥º(size°Ê²¼¡£È¾Ã¼¤Ç¤¹)¤Çwrite()¤¬¸Æ¤Ð¤ì¤Þ¤¹ _IONBF write()¤¬1¥Ð¥¤¥È¤Ç·«¤êÊÖ¤·¸Æ¤Ð¤ì¤Þ¤¹ write()¤Ï¸Æ¤Ð¤ì¤Þ¤»¤ó Ãí¡§¾ï¤ËLF¤ò¤Ò¤È¤Ä¥Ð¥Ã¥Õ¥¡¤ËÊú¤³¤¦¤È¤¹¤ë¤è¤¦¤Ç¡¢Ä¾´¶¤È¤Ï°Û¤Ê¤ê¤Þ¤¹¡£ ¡¡fputs("aaa\n",fp);¢Í²¿¤â¤ª¤¤Þ¤»¤ó ¡¡fputs("bbb\n",fp);¢Í"aaa\n"¤Çwrite()¤¬¸Æ¤Ð¤ì¤Þ¤¹ ¡¡fputs("ccc\n",fp);¢Í"bbb\n"¤Çwrite()¤¬¸Æ¤Ð¤ì¤Þ¤¹ ¡¡fflush(fp) ;¢Í"ccc\n"¤Çwrite()¤¬¸Æ¤Ð¤ì¤Þ¤¹ ¡¡fputs("aaa\nbbb\nccc\nddd",fp);¢Íwirte()¤¬£²²ó("aaa\n"¤È"bbb\n")¸Æ¤Ð¤ì"ccc\nddd"¤¬¥Ð¥Ã¥Õ¥¡¤Ë»Ä¤ê¤Þ¤¹
¤Þ¤¿¤Ï¤³¤Á¤é¤Î
¤«¤é¤É¤¦¤¾¡£
¤Ø¤â¤É¤ë