linux man page : read - ¿­¸° ÆÄÀϱâ¼úÀÚ·Î ºÎÅÍ µ¥ÀÌŸ¸¦ ÀоîµéÀδÙ.
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.
<a href="/modules/moniwiki/wiki.php/manSearch?google=none&name=read">read</a>(2)

1장. read(2)

차례
1.1절. »ç¿ë¹ý
1.2절. ¼³¸í
1.3절. ¹Ýȯ°ª
1.4절. ¿¡·¯
1.5절. ¿¹Á¦

¿­¸° ÆÄÀϱâ¼úÀÚ·Î ºÎÅÍ µ¥ÀÌŸ¸¦ ÀоîµéÀδÙ.


1.1절. »ç¿ë¹ý

#include <unistd.h>

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


1.2절. ¼³¸í

socket(2) ȤÀº open(2) µîÀ¸·Î ¿­¸° ÆÄÀÏ¿¡¼­ ¿øÇÏ´Â µ¥ÀÌŸ¸¦ ÀоîµéÀδÙ. fd °¡ socket, open À¸·Î ¿­¸° ÆÄÀϱâ¼úÀÚÀÌ´Ù. fd ¿¡ ÀÐÀ» µ¥ÀÌŸ°¡ ÀÖ´Ù¸é buf ¿¡ ´ã¾Æ¼­ °¡Á®¿Â´Ù. count ´Â buf ¿¡¼­ Çѹø¿¡ °¡Á®¿Ã µ¥ÀÌŸÀÇ Å©±â¸¦ ³ªÅ¸³½´Ù.


1.3절. ¹Ýȯ°ª

¼º°øÇÒ°æ¿ì 0ÀÌ»óÀÇ °ªÀ» ¹ÝȯÇÑ´Ù. 0À̶ó¸é ÆÄÀÏÀÇ ³¡À» ÀǹÌÇϸç, 0 º¸´Ù Å« ¾ç¼ö¶ó¸é ÀÌ´Â ÀоîµéÀÎ buf ÀÇ Å©±â¸¦ ³ªÅ¸³½´Ù. ÆÄÀÏ ³¡ÀÌ ¾Æ´Ñ»óÅ¿¡¼­ ÆÄÀÏ¿¡¼­ µ¥ÀÌŸ¸¦ °¡Á®¿À´Âµ¥ ¼º°øÇß´Ù¸é, ÆÄÀÏ Æ÷ÀÎÅÍÀÇ À§Ä¡´Â ÀÐÀº µ¥ÀÌŸÀÇ Å©±â¸¸Å­ À̵¿ÇÏ°Ô µÈ´Ù.

¿¡·¯°¡ ¹ß»ýÇÒ°æ¿ì -1 À» µÇµ¹·ÁÁÖ¸ç errno ´Â Àû´çÇÑ °ªÀ¸·Î ¼³Á¤µÈ´Ù. ¿¡·¯°¡ ¹ß»ýÇßÀ»°æ¿ì ÆÄÀÏ Æ÷ÀÎÅÍÀÇ À§Ä¡°¡ ¾î¶»°Ô ¹Ù²ðÁö´Â ¿¹ÃøÇÒ¼ö ¾ø´Ù.


1.4절. ¿¡·¯

´Ù¾çÇÑ ¿øÀο¡ ÀÇÇØ¼­ ¿¡·¯°¡ ¹ß»ýÇÒ¼ö ÀÖÀ¸¸ç ¾Æ·¡¿Í °°Àº ¿¡·¯ ¸Þ½ÃÁöµéÀÌ ÀÖ´Ù.

EINTR

µ¥ÀÌŸ¸¦ ÀбâÀü¿¡ ÇÔ¼ö°¡ ½ÅÈ£(signal)¿¡ ÀÇÇØ ÀÎÅÍ·´Æ® µÇ¾ú´Ù.

EAGAIN

ºñºÀ¼â·Î ¿­¸° ÆÄÀÏÁö½ÃÀÚ¿¡ Áï½Ã ÀÐÀ» µ¥ÀÌŸ°¡ ¾øÀ» °æ¿ì.

EIO

I/O ¿¡·¯.

EISDIR

ÆÄÀÏÁö½ÃÀÚ fd °¡ µð·ºÅ丮¸¦ °¡¸£Å³°æ¿ì.

EBADF

ÆÄÀÏÁö½ÃÀÚ fd °¡ À¯È¿ÇÑ ÆÄÀϱâ¼úÀÚ°¡ ¾Æ´Ï°Å³ª Àбâ À§ÇØ ¿­·ÁÀÖÁö ¾ÊÀ»°æ¿ì

EINVAL

fd °¡ Àб⿡ Àû´çÇÏÁö ¾ÊÀº °´Ã¼¿Í ¿¬°áµÇ¾î ÀÖ´Ù.


1.5절. ¿¹Á¦

#include <unistd.h>

#include <stdio.h>
#include <string.h>

#define STDIN 1

int main()
{
    char buf[80];

    memset(buf, 0x00, 80);
    if (read(STDIN, buf, 80) < 0) 
    {
        perror("read erro : ");    
        exit(0);
    }

    printf("%s", buf);
}
		
Ç¥ÁØÀÔ·Â "1"(Űº¸µå) ·Î ºÎÅÍ ÀоîµéÀÎ ¹®ÀÚ¿­À» È­¸é¿¡ Ãâ·ÂÇÑ´Ù.


EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.