Àú¼öÁØ ÆÄÀÏ ÀÔÃâ·Â ¹æ¹ýÀº ¿î¿µÃ¼Á¦(DOS, À©µµ¿ìÁî)°¡ ÆÄÀÏÀ» °ü¸®ÇÏ´Â ¹æ¹ý°ú µ¿ÀÏÇÏ´Ù. °í¼öÁØÀº ÆÄÀÏÀ» ½ºÆ®¸²À̶ó´Â ³í¸®ÀûÀÎ ´ë»óÀ¸·Î Ãë±ÞÇÒ ¼ö ÀÖµµ·Ï Çϴµ¥ ºñÇØ Àú¼öÁØÀº ÆÄÀÏÀ» ÇÚµé·Î °ü¸®ÇÑ´Ù´Â °ÍÀÌ Æ¯Â¡ÀÌ´Ù. ½ºÆ®¸²¿¡ ºñÇØ ÇÚµéÀ» »ç¿ëÇÏ´Â ¹æ¹ýÀÌ Á¶±Ý ´õ ¾î·ÆÁö¸¸ ¼º´ÉÀº ´õ ÁÁ´Ù. Àú¼öÁØ ÆÄÀÏ ÀÔÃâ·Â ÇÔ¼öÀÇ À̸§ ¾Õ¿¡´Â _¹®ÀÚ°¡ Àִµ¥ _·Î ½ÃÀÛÇϴµ¥ ÇÔ¼öµéÀº Ç¥ÁØÀÌ ¾Æ´Ï¶ó È®ÀåµÈ ÇÔ¼ö¶ó´Â ¶æÀÌ´Ù. ºñÁÖ¾ó C++¿¡¼´Â _°¡ ¾ø´Â ÇÔ¼ö¸íµµ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï Áߺ¹ Á¤ÀǵǾî ÀÖ´Ù.
Àú¼öÁØ ÆÄÀÏ ÀÔÃâ·ÂÀ» ÇÒ ¶§´Â ¸ÕÀú ´ë»ó ÆÄÀÏÀ» ¿¾î ÇÚµéÀ» ¾ò¾î¾ß ÇÑ´Ù. ÇÚµéÀº ¿·ÁÁø ÆÄÀÏÀ» ´ëÇ¥ÇÏ´Â °ªÀ̸ç Çڵ鿡´Â ÆÄÀÏÀ» ¾×¼¼½ºÇϱâ À§ÇÑ ¸ðµç Á¤º¸°¡ ÀúÀåµÇ¾î ÀÖ´Ù. ÆÄÀÏÀ» ¿°í ´ÝÀ» ¶§´Â ´ÙÀ½ µÎ ÇÔ¼ö¸¦ »ç¿ëÇÑ´Ù.
int _open(const char *filename, int oflag [,int pmode] );
int _close(int fd);
filename Àμö·Î ¿°íÀÚ ÇÏ´Â ÆÄÀÏÀÇ °æ·Î¸¦ Áִµ¥ µå¶óÀ̺ê¿Í µð·ºÅ丮 Á¤º¸¸¦ Æ÷ÇÔÇÑ ¿ÏÀü °æ·Î·Î ÁÙ ¼öµµ ÀÖ°í ÇöÀç µð·ºÅ丮¸¦ ±âÁØÀ¸·Î ÇÑ »ó´ë °æ·Î·Î ÁÙ ¼öµµ ÀÖ´Ù. oflag Àμö¿¡´Â ÆÄÀÏÀ» ¾î¶² ¸ðµå·Î ¿ °ÍÀÎÁö¸¦ ÁöÁ¤ÇÏ´Â ´ÙÀ½°ú °°Àº Ç÷¡±×µéÀ» ÁØ´Ù. OR ¿¬»êÀÚ·Î ¿©·¯ °³ÀÇ Ç÷¡±×¸¦ ÇѲ¨¹ø¿¡ ÁöÁ¤ÇÒ ¼öµµ ÀÖ´Ù.
Ç÷¡±× |
¼³¸í |
_O_BINARY |
ÀÌÁø ¸ðµå·Î ¿¬´Ù. |
_O_TEXT |
ÅؽºÆ® ¸ðµå·Î ¿¬´Ù. |
_O_CREAT |
»õ·Î ÆÄÀÏÀ» ¸¸µé¸ç ÆÄÀÏÀÌ ÀÌ¹Ì Á¸ÀçÇÏ¸é ¾Æ¹« °Íµµ ÇÏÁö ¾Ê´Â´Ù. |
_O_RDONLY |
Àбâ Àü¿ëÀ¸·Î ¿¬´Ù. |
_O_RDWR |
Àб⠾²±â°¡ °¡´ÉÇϵµ·Ï ¿¬´Ù. |
_O_WRONLY |
¾²±â Àü¿ëÀ¸·Î ¿¬´Ù. |
_O_TRUNC |
ÆÄÀÏÀ» ¿°í Å©±â¸¦ 0À¸·Î ¸¸µç´Ù. _O_CREAT¿Í ÇÔ²² »ç¿ëµÉ °æ¿ì »õ·Î ÆÄÀÏÀ» ¸¸µç´Ù. |
_O_APPEND |
FP¸¦ ÆÄÀÏ ³¡À¸·Î º¸³½´Ù. |
_O_RANDOM |
ij½Ã¸¦ ÀÓÀÇ Á¢±Ù ¹æ½ÄÀ¸·Î ÃÖÀûÈÇÑ´Ù. |
_O_SEQUENTIAL |
ij½Ã¸¦ ¼øÂ÷ Á¢±Ù ¹æ½ÄÀ¸·Î ÃÖÀûÈÇÑ´Ù. |
_O_SHORT_LIVED |
_O_CREAT Ç÷¡±×¿Í ÇÔ²² »ç¿ëµÇ¸ç Àӽà ÆÄÀÏÀ» ¸¸µç´Ù. |
_O_TEMPORARY |
_O_CREAT Ç÷¡±×¿Í ÇÔ²² »ç¿ëµÇ¸ç ÆÄÀÏÀ» ´ÝÀ» ¶§ »èÁ¦ÇÑ´Ù. |
_O_EXCL |
_O_CREAT Ç÷¡±×¿Í ÇÔ²² »ç¿ëµÇ¸ç ÆÄÀÏÀÌ ÀÌ¹Ì Á¸ÀçÇÒ °æ¿ì ¿¡·¯¸¦ ¸®ÅÏÇÑ´Ù. |
¸¶Áö¸· Àμö pmode´Â ÆÄÀÏÀÇ º¸¾È ¼Ó¼ºÀ» ÁöÁ¤Çϴµ¥ _O_CREAT Ç÷¡±×·Î ÆÄÀÏÀ» »õ·Î ¸¸µé ¶§¸¸ Àû¿ëµÈ´Ù. ³ª¸ÓÁö Ç÷¡±×·Î ÆÄÀÏÀ» ¿ ¶§ ÀÌ Àμö´Â »ý·«ÇÑ´Ù. »ý¼ºÇÑ ÆÄÀÏÀ» ´ÝÀ» ¶§ º¸¾È ¼Ó¼ºÀÌ Àû¿ëµÇ´Âµ¥ ÀÌ¹Ì ÆÄÀÏÀÌ Á¸ÀçÇÑ´Ù¸é pmode Àμö´Â ¹«½ÃµÈ´Ù. ÆÄÀÏÀ» Àб⠰¡´ÉÇϵµ·Ï ÇÏ·Á¸é _S_IREAD Ç÷¡±×¸¦ ÁÖ°í ¾²±â °¡´ÉÇϵµ·Ï ÇÏ·Á¸é _S_IWRITE¸¦ ÁÖ¸ç µÎ Ç÷¡±×¸¦ ¸ðµÎ ´Ù ÁÙ ¼öµµ ÀÖ´Ù.
_S_IWRITE Ç÷¡±×¸¦ ÁÖ¸é ÀÌ ÆÄÀÏÀº ±â·Ï °¡´ÉÇÑ ÆÄÀÏÀÌ µÇ¸ç _S_IREAD¸¸ ÁÖ¸é Àбâ Àü¿ëÀÇ ÆÄÀÏÀÌ µÈ´Ù. À©µµ¿ìÁî¿¡¼´Â Á¸ÀçÇÏ´Â ¸ðµç ÆÄÀÏÀ» ÀÐÀ» ¼ö ÀÖÀ¸¹Ç·Î _S_IREAD¸¦ ÁÖÁö ¾Ê¾Æµµ ÆÄÀÏÀ» ÀÐÀ» ¼ö ÀÖ´Ù. _S_* ¸ÅÅ©·Î »ó¼öµéÀº sys/stat.h Çì´õ ÆÄÀÏ¿¡ Á¤ÀǵǾî ÀÖÀ¸¹Ç·Î ÀÌ ¸ÅÅ©·Î¸¦ »ç¿ëÇÏ·Á¸é sys/stat.h¸¦ ¹Ýµå½Ã ÀÎŬ·çµåÇØ¾ß ÇÑ´Ù.
_openÀº ÆÄÀÏÀ» ¹«»çÈ÷ ¿¾úÀ» °æ¿ì ÆÄÀÏÀÇ ÇÚµéÀ» ¸®ÅÏÇϴµ¥ ÀÌ °ªÀº Á¤¼öÇü º¯¼ö¿¡ Àß ÀúÀåÇØ µÎ¾ú´Ù°¡ ÀÌÈÄ Àú¼öÁØ ÆÄÀÏ ¾×¼¼½º ÇÔ¼ö·Î Àü´ÞÇÑ´Ù. °í¼öÁØ ÆÄÀÏ ÀÔÃâ·Â ÇÔ¼ö´Â FILE *ÇüÀ» »ç¿ëÇϴµ¥ ºñÇØ Àú¼öÁØ ÆÄÀÏ ÀÔÃâ·Â ÇÔ¼ö´Â ÇÚµéÀ» »ç¿ëÇÑ´Ù. ¿¡·¯ ¹ß»ý½Ã -1À» ¸®ÅÏÇϴµ¥ ¾ÈÀüÀ» À§ÇØ ÀÌ ¸®ÅÏ°ªÀ» ¹Ýµå½Ã Á¡°ËÇØ º¼ ÇÊ¿ä°¡ ÀÖ´Ù. ÆÄÀÏ ÀÔÃâ·ÂÀÌ ³¡³ ÈÄ _close ÇÔ¼ö·Î ÆÄÀÏÀ» ´Ý´Â´Ù.