C¿Í C++°ü·Ã |
---|
Á¦¸ñ | Å°º¸µå ¹öÆÛ °ü·Ã 1998/07/15 (17:59) |
À̸§ | ±èÈ¿¿ø |
¹øÈ£ | 9 |
Á¶È¸ | 845 |
º»¹® |
Å°º¸µå ¹öÆÛ¿¡ ÀÖ´Â ³»¿ëÀ» Áö¿ì±â while (bioskey(1)) bioskey(0); fflush(stdin); while (kbhit()) getch(); *BIOSKeyboardBufferHead = *BIOSKeyboardBufferTail; ÀÌ ÁßÀÇ Çϳª¸¦ ÀÌ¿ëÇÏ¸é µÊ. < Å°º¸µå ¹öÆÛ¿¡ °Á¦·Î ¾²±â > ungetch(); < ¹öÆÛ¿Í ½ºÆ®¸²ÀÇ Â÷ÀÌÁ¡ > ¹öÆÛ¿Í ½ºÆ®¸²Àº ´Ù¸¥°ÍÀÔ´Ï´Ù. ¹öÆÛ´Â ÀÏÁ¾¿¡ Áß°è±âÁö °°Àº °ÍÀÌÁö¸¸ ½ºÆ®¸²Àº ¸»±×´ë·Î È帧ÀÔ´Ï´Ù. »ý°¢À̶õ ¸»¶æ¿¡¼ Ãâ¹ßÇÕ´Ï´Ù. ½ºÆ®¸²À̶õ °ÍÀ» »ý°¢Çغ¸°í ¿©±â¼ ÇѴܰ踦 ´õ »ý°¢Çغ»´Ù¸é ½ºÆ®¸²À̶õ ¹æÇâÀ» ¹Ù²Ü¼öµµ ÀÖ´Ù´Â ¶æÀÌ µÇ±âµµ ÇÕ´Ï´Ù. ¿Ö³ÄÇϸé ȸéÀ¸·Î °¡´Â ½ºÆ®¸²À» ÆÄÀÏ·Î ¹Ù²Ù¸é ³»¿ëÀÌ ÆÄÀÏ·Î º¸³»Áö°Ô µÇ´Â°ÅÁÒ. °£´ÜÇÑ ¿¹·Î ¸®´ÙÀÌ·º¼Ç(redirection)ÀÌ ÀÖ½À´Ï´Ù. DOSÀÇ '>', '>>'¸¦ ÀÌ¿ëÇÑ °Í°úµµ °°Àº °ÍÀÌ¶ó±¸ ÇÒ¼ö ÀÖ½À´Ï´Ù. ±×¸®°í ½ºÆ®¸²¿¡¼ ¶ÇÇÑ°¡Áö ¾Ë¼öÀִ°ÍÀº ½ºÆ®¸²Àº È帧À̱⿡ °³¹æÀ̳ª ´Ý±âµµ °¡´ÉÇÏ´Ù´Â°É ¾Ë¼ö ÀÖ½À´Ï´Ù. Áï ¾î¶² ³»¿ëÀ» ¹Þ°Å³ª Ãâ·ÂÇϱâ À§Çؼ ½ºÆ®¸²À» °³¹æ(open)ÇÏ°í ¸¶Áö¸·¿£ ´Ý±â(close)¸¦ ÇØ¾ß Á¾°áµÅ´Â °ÍÀÔ´Ï´Ù. Áï ´Ý±âÀü¿£ Ãâ·ÂÇϰųª ÀÔ·ÂÇÏ´Â ³»¿ëÀº ¹öÆÛ(buffer)¸¦ ÅëÇؼ °¡Á®¿À°Å³ª º¸³»°Ô µË´Ï´Ù. ¹öÆÛ´Â À§¿¡¼ À̾߱â ÇßµèÀÌ °è¼ÓÇؼ È帧¿¡ µé¾î¿À´Â ³»¿ëÀ» Áï½Ã ó¸® ¸øÇÒ¶§ ½×¾ÆµÎ´Â ¿ªÇÒÀ» ÇÕ´Ï´Ù. ¿Ö ½×¾ÆµÎ´Â °¡? ±×°ÍÀº Çѹø¿¡ ÇϳªÀÇ µ¥ÀÌŸº¸´Ü ¿©·¯°³ÀÇ µ¥ÀÌŸ¸¦ ¹Ì¸® Àоî¿Í¼ ÀúÀå(¹öÆÛ¿¡´Ù°¡) Çصξú´Ù°¡ ÇÊ¿äÇÒ¶§ ³Ñ°ÜÁִ°ÍÀÌ ¼Óµµµµ ºü¸£°í Æí¸®Çϱ⠶§¹®ÀÌÁÒ. ±×·¯³ª ÀÌ¹Ì ¿·Á(open)µÅ¾î ÀÖ´Â ½ºÆ®¸², Å°º¸µåÀÔÃâ·ÂÀ̳ª ȸéÀÔÃâ·ÂÀº µû·Î °³¹æÇÒÇÊ¿ä°¡ ¾ø½À´Ï´Ù. ±×·¡¼ ¿ì¸®°¡ ȸ鿡 ÀÔÃâ·ÂÀ» ÇÒ¶§ º°´Ù¸£°Ô ½ºÆ®¸²À» ¿Áö(open) ¾Ê¾Æµµ »ç¿ëÀÌ °¡´ÉÇÑ°ÍÀÔ´Ï´Ù. ÀÌÁ¦ °á·ÐÀ» ¸»¾¸µå¸®ÁÒ. fflush()´Â ½ºÆ®¸²ÀÇ È帧µµÁß¿¡ ¹öÆÛ¿¡ ½×¿©ÀÖ´Â ³»¿ëÀ» ½ºÆ®¸²ÀÇ È帧Àdz¡À¸·Î(¿ÏÀüÇÑ Ãâ·Â) º¸³»´Â °ÍÀÔ´Ï´Ù. ÀÌ°É ¾ðÁ¦ ½á¾ß Çϴ°¡??? ¾Æ¸¶µµ ÆÄÀÏ ÀÔÃâ·Â¿¡¼ °¡Àå ¸¹ÀÌ »ç¿ëÇÏ°Ô µË ´Ï´Ù. ÆÄÀÏ ½ºÆ®¸²ÀÇ ¹öÆÛ¿¡ ½×¿©ÀÖ´Â ³»¿ëÀ» Ç×»ó flushÇØÁÜÀ¸·Î¼ ÇöÁ¦ ÀÛ¾÷ÇÑ ³»¿ëÀÌ ¾ÈÀüÇÏ°Ô ÆÄÀÏ¿¡ ±â·ÏÀÌ µÇ´Â °Ì´Ï´Ù. ÀϹÝÀûÀÎ °æ¿ì flush¸¦ ¾²Áö ¾Ê°í ±×³É close¸¦ ÇÒ¶§±îÁö ÆÄÀÏÀ» °³¹æÇÑ »óÅ¿¡¼ ÀÛ¾÷À» ÇÏ´Â °æ¿ì°¡ Àִµ¥ º°·Î ÁÁÀº°ÍÀº ¾Æ´Õ´Ï´Ù. ÀÚÄ© ½Ç¼ö·Î ȤÀº º°°Íµµ ¾Æ ´Ñ ¹ö±×°¡ »ì¾Ò´Ù°¡ Ȥ½Ã¶óµµ Áö±Ý ÀÛ¾÷ÇÑ ³»¿ëÀ» ¿ÏÀüÈ÷ ¸ÁÄ¡´Â °æ¿ìµµ ÀÖÀ»¼ö ÀÖ½À´Ï´Ù. ±×·¯´Ï±ñ ¾î¶² ³»¿ëÀ» ½á³ÖÀº ´ÙÀ½¿£ Ç×»ó flush¸¦ ÇØÁÜ À¸·Î µ¥ÀÌŸ¸¦ ¾ÈÀüÇÏ°Ô º¸°üÇÒ¼ö ÀÖ´Â ¹æ¹ý ÀÔ´Ï´Ù. ±×·¸´Ù°í ¸Å¹ø ÀÔÃâ·Â ÈÄ¿¡ flush¸¦ ÇÏ´Â°Ô ¾Æ´Ï¶ó Àû´çÇÑ ¼ø°£¿¡ flush¸¦ ÇØÁִ°ÍÀÌ Áß¿äÇÑ°ÍÀÌ °ÚÁÒ. ¿Ö³ÄÇϸé À¯¿ëÇÏ´Ù°í ³²¹ßÇÏ¸é ½ÇÇà¼Óµµ¸¦ ´À¸®°Ô Çϴ±î¿ä. PS. WATCOM°°Àº CÄÄÆÄÀÏ·¯´Â ȸ鿡 Ãâ·ÂµÇ´Â°Íµµ ½ºÆ®¸²À¸·Î Ãë±ÞÇÑ´Â°Í °°½À´Ï´Ù(?). ¿Ö³ÄÇϸé ÀÏ¹Ý È¸é ÀÔÃâ·ÂÀÇ °æ¿ì¿¡µµ Ãâ·ÂÀÌ ¾à°£ ´À¸®°Ô º¸ÀÔ´Ï´Ù. ±×¸®°í À߸øÇÏ¸é °ãÃļ ³ª¿À°Å³ª °Ç³Ê¶Ù¾î¼ Ãâ·ÂµÇ´Â °æ¿ìµµ ÀÖ½À´Ï´Ù. ±×·²¶© fflush(stdout);À» ÇØÁÜÀ¸·Î¼ ÇØ°áÇÒ¼ö ÀÖ½À´Ï´Ù. |