linux man page : write - ÆÄÀÏ¿¡ ¾´´Ù.
ÃÑ ÆäÀÌÁö ¼ö : 3224

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



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.


<a href="/modules/moniwiki/wiki.php/manSearch?google=none&name=write">write</a>(2)

1장. write(2)

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

ÆÄÀϱâ¼úÀÚ°¡ °¡¸®Å°´Â ÆÄÀÏ¿¡ ¾´´Ù. ÀÌ ÆÄÀϱâ¼úÀÚ´Â open(2), socket(2) µîÀ¸·Î ¾òÀ»¼ö ÀÖ´Ù.


1.1절. »ç¿ë¹ý

#include <unistd.h>

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


1.2절. ¼³¸í

ù¹øÂ° ¾Æ±Ô¸ÕÆ®ÀÎ fd ´Â ¿­¸°ÆÄÀÏ ±â¼úÀÚÀÌ´Ù. À̰ÍÀº º¸Åë open(2), socket(2) µîÀ¸·Î ¸¸µé¾îÁö¸ç, ¶§¶§·Î pipe(2) µîÀ¸·Î ¸¸µé¾îÁö±âµµ ÇÑ´Ù.

µÎ¹øÂ° ¾Æ±Ô¸ÕÆ®´Â fd ·Î ¾µ µ¥ÀÌŸÀ̸ç, count ´Â fd ¾µ µ¥ÀÌŸÀÇ Å©±âÀÌ´Ù.


1.3절. ¹Ýȯ°ª

¼º°øÇÒ°æ¿ì ¾²¿©Áø ¹ÙÀÌÆ® ¸¸Å­ÀÌ ¸®ÅϵȴÙ. 0ÀÌ¸é ¾²¿©Áø°ÍÀÌ ¾øÀ½À» ³ªÅ¸³»¸ç, -1 Àϰæ¿ì´Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ìÀÌ´Ù. ¿¡·¯°¡ ¹ß»ýÇßÀ»°æ¿ì¿¡´Â errno ¿¡ Àû´çÇÑ °ªÀÌ ¼³Á¤µÈ´Ù.


1.4절. ¿¡·¯

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

EBADF

fd °¡ À¯È¿ÇÑ ÆÄÀÏ ±â¼úÀÚ°¡ ¾Æ´Ï°Å³ª ¾²¿©Áú¼ö ¾øµµ·Ï ¿­·ÁÀÖÀ»°æ¿ì

EINVAL

fd °¡ ¾²±â¿¡ Àû´çÇÏÁö ¾ÊÀº °´Ã¼¿Í ¿¬°áµÇ¾î ÀÖÀ»°æ¿ì

EFAULT

buf °¡ Á¢±ÙÇÒ ¼ö ¾ø´Â ÁÖ¼Ò °ø°£À» °¡¸®Å°°í ÀÖÀ»¶§

EPIPE

fd °¡ ³¡ÀÌ ´ÝÇôÁø ¼ÒÄÏÀ̳ª ÆÄÀÌÇÁ¿¡ ¿¬°áµÇ¾î ÀÖÀ»¶§. ¾²°í ÀÖ´Â ÇÁ·Î¼¼½º°¡ SIGPIPE signal¸¦ ¹Þ¾ÒÀ»¶§ ¹ß»ýÇÑ´Ù.

EAGAIN

fd °¡ ºñºÀ¼â(O_NONBLOCK) ·Î ¿­·ÈÀ»°æ¿ì, µ¥ÀÌÅ͸¦ ¾²±â À§ÇØ fd ¿Í ¿¬°áµÈ ÆÄÀÌÇÁ³ª ¼ÒÄÏ¿¡ °ø°£ÀÌ ¾øÀ»¶§, ¹ß»ýÇÑ´Ù. ºÀ¼â·Î ¿­·ÈÀ»°æ¿ì¿¡´Â ¿¬°áµÈ ÆÄÀÌÇÁ³ª ¼ÒÄÏ¿¡ °ø°£ÀÌ ÀÖÀ»¶§±îÁö ºÀ¼âµÈ´Ù.

EAGAIN

fd °¡ ºñºÀ¼â(O_NONBLOCK) ·Î ¿­·ÈÀ»°æ¿ì, µ¥ÀÌÅ͸¦ ¾²±â À§ÇØ fd ¿Í ¿¬°áµÈ ÆÄÀÌÇÁ³ª ¼ÒÄÏ¿¡ °ø°£ÀÌ ¾øÀ»¶§, ¹ß»ýÇÑ´Ù. ºÀ¼â·Î ¿­·ÈÀ»°æ¿ì¿¡´Â ¿¬°áµÈ ÆÄÀÌÇÁ³ª ¼ÒÄÏ¿¡ °ø°£ÀÌ ÀÖÀ»¶§±îÁö ºÀ¼âµÈ´Ù.


1.5절. ¿¹Á¦

#include <fcntl.h>

#include <unistd.h>
#include <stdio.h>

struct data
{
    int         age;
    char        name[25];
};
int main()
{
    int fd;
    int n;
    struct data mydata, readdata;

    fd = open("data.txt", O_CREAT|O_RDWR);
    if (fd == -1)
    {
        perror("open error : ");
    }


    mydata.age = 25;
    strcpy(mydata.name, "hello");
    n = write(fd, (void *)&mydata, sizeof(mydata));
    close(fd);
}
		
ÀÌ ¿¹Á¦´Â data.txt ¶ó´Â ÆÄÀÏÀ» Àϱâ/¾²±â ¸ðµå·Î open ÇÑ ´ÙÀ½¿¡ data ±¸Á¶Ã¼¸¦ ÆÄÀÏ¿¡ Àû´Â ÇÁ·Î±×·¥ÀÌ´Ù.

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