36-1-´Ù.ÀÔ·Â ½ºÆ®¸²

C++ÀÇ Ç¥ÁØ ÀÔ·Â ½ºÆ®¸²Àº cin °´Ã¼ÀÌ´Ù. cin °´Ã¼·Î ÀÔ·ÂÀ» ¹Þ¾Æ >> ¿¬»êÀÚ(Extraction)·Î ´ë»ó º¯¼ö·Î º¸³»±â¸¸ ÇÏ¸é µÈ´Ù. >> ¿¬»êÀÚ°¡ ´ëºÎºÐÀÇ ±âº» ŸÀÔ¿¡ ´ëÇØ ¿À¹ö·ÎµùµÇ¾î Àֱ⠶§¹®¿¡ ŸÀÔ¿¡ »ó°ü¾øÀÌ ÀÔ·ÂÀ» ¹ÞÀ» ¼ö ÀÖ´Ù. cout°ú ¸¶Âù°¡Áö·Î >> ¿¬»êÀÚ°¡ cin °´Ã¼ÀÇ ·¹ÆÛ·±½º¸¦ ¸®ÅÏÇϹǷΠ¿¬¼âÀûÀ¸·Î ÀÔ·ÂÀ» ¹ÞÀ» ¼öµµ ÀÖ´Ù.

ÀÔ·Â ¹æ¹ýÀº »ó´çÈ÷ Á÷°üÀûÀ̹ǷΠ»ç¿ëÇϱ⠽±Áö¸¸ ÀÔ·ÂÀ̶õ Ãâ·Â°ú´Â ´Þ¸® ¿¡·¯°¡ ¹ß»ýÇÒ ¼ÒÁö°¡ ¸¹±â ¶§¹®¿¡ ÈξÀ ´õ ±î´Ù·Ó´Ù. ´ÙÀ½ ¿¹Á¦´Â cin °´Ã¼¿Í >> ¿¬»êÀÚ¸¦ »ç¿ëÇÏ¿© Á¤¼ö°ª°ú ¹®ÀÚ¿­À» ÀԷ¹޴´Ù. °£´ÜÇÑ ÀÔ·Â µ¿ÀÛÀ» Å×½ºÆ®ÇϹǷΠº°µµÀÇ ÇÁ·ÒÇÁÆ®´Â Ãâ·ÂÇÏÁö ¾Ê¾Ò´Ù.

 

¿¹ Á¦ : cin

#include <Turboc.h>

#include <iostream>

using namespace std;

 

void main()

{

     int i;

     char str[128];

 

     cin >> i;

     cout << i << endl;

     cin >> str;

     cout << str << endl;

}

 

¿¹Á¦¸¦ ½ÇÇàÇϸé Ä¿¼­°¡ ±ô¹Ú°Å¸®´Âµ¥ ¼ø¼­´ë·Î Á¤¼ö°ª°ú ¹®ÀÚ¿­À» ÀÔ·ÂÇÏ¸é µÈ´Ù. ÀÔ·ÂµÈ °ªÀ» coutÀ¸·Î ±×´ë·Î È­¸éÀ¸·Î ´Ù½Ã Ãâ·ÂÇØ º¸¾Ò´Ù. ½ÇÇà °á°ú´Â ´ÙÀ½°ú °°´Ù.

 

1234

1234

abcdefghijkl

abcdefghijkl

 

cin ÀÔ·Â °´Ã¼¿Í >> ¿¬»êÀÚ´Â ´ÙÀ½°ú °°Àº Áß¿äÇÑ ³×°¡Áö Ư¡À» °¡Áö°í ÀÖ´Ù.

 

¨ç °ø¹éÀº °Ç³Ê ¶Ù°í ÀԷ¹޴´Ù. °ø¹éÀº ½ÇÁ¦ ÀԷ¹ްíÀÚ ÇÏ´Â ´ë»óÀÌ ¾Æ´Ï¸ç µ¥ÀÌÅÍÀÇ ±¸ºÐÀ» À§ÇÑ ±¸ºÐÀÚ·Î »ðÀԵǴ °æ¿ì°¡ ¸¹±â ¶§¹®¿¡ ÀԷ°ªÀÇ ÀϺζó°í º¼ ¼ö ¾ø´Ù. ±×·¡¼­ ¾ÕÂÊÀÇ °ø¹éÀº ÀÏ´Ü °Ç³Ê¶Ù°í À¯È¿ÇÑ ¹®ÀÚºÎÅÍ Àб⠽ÃÀÛÇÑ´Ù. ¿©±â¼­ °ø¹éÀ̶õ ½ºÆäÀ̽º »Ó¸¸ ¾Æ´Ï¶ó Åǰú °³Çà Äڵ嵵 Æ÷ÇԵȴÙ. ¾î¶»°Ô º¸¸é ÇÕ¸®ÀûÀÌÁö¸¸ °ø¹é ÀÚü¸¦ ÀԷ¹ްíÀÚ ÇÒ ¶§´Â ´Ù¸¥ ¹æ¹ýÀ» »ç¿ëÇØ¾ß ÇÑ´Ù.

¨è ÀÐÀ» ¼ö ÀÖ´Â À¯È¿ÇÑ ÀԷ±îÁö¸¸ ÀÐÀ¸¸ç ¹«È¿ÇÑ ¹®ÀÚ¸¦ ¸¸³ª´Â Áï½Ã Àб⸦ ÁßÁöÇÑ´Ù. ¿¹¸¦ µé¾î Á¤¼ö°ªÀ» Àд´ٸé Á¤¼ö¸¦ ±¸¼ºÇÏ´Â ¾Æ¶óºñ¾Æ ¼ýÀÚ¿Í +, - ºÎÈ£ ±âÈ£ µî¸¸ À¯È¿ÇÑ ÀÔ·ÂÀ¸·Î °£ÁÖÇÏ¸ç ¼ýÀÚ°¡ ¾Æ´Ñ ÀÔ·ÂÀÌ µé¾î¿À¸é Áï½Ã Àб⸦ ÁßÁöÇÑ´Ù. ¹®ÀÚ¿­ÀÇ °æ¿ìµµ °ø¹éÀÌ ÀÔ·ÂµÇ¸é °ø¹é ÀÌÀü±îÁö¸¸ Àд´Ù. Áï ´Ü¾î¸¸ ÀÐÀ» ¼ö ÀÖ´Ù.

¨é ¾Õ ±ÔÄ¢¿¡ ÀÇÇØ ÀÐÁö ¸øÇÑ µ¥ÀÌÅÍ´Â ¹öÆÛ¿¡ ±×´ë·Î ³²°ÜÁö¸ç ´ÙÀ½¹ø ÀÐÀ» ¶§ ¹öÆÛ¿¡ ³²¾Æ ÀÖ´Â °ªÀÌ ÀÐÇôÁø´Ù. ¸¸¾à ¹öÆÛ¿¡ ÀúÀåµÈ °ªÀÌ ¾µ¸ð¾ø´Â °ªÀ̶ó¸é ¹öÆÛ¸¦ ºñ¿î ÈÄ ´Ù½Ã ÀÔ·ÂÀ» ¹Þ¾Æ¾ß ÇÏ´Â ¹ø°Å·Î¿òÀÌ ÀÖ´Ù.

¨ê ¹®ÀÚ¿­ÀÇ °æ¿ì ¹®ÀÚÇü ¹è¿­¿¡ ÀúÀåµÇ´Âµ¥ C¿¡¼­¿Í ¸¶Âù°¡Áö·Î ¹è¿­ÀÇ ³¡ Á¡°ËÀº ÇÏÁö ¸øÇÑ´Ù. ±×·¡¼­ ÀԷ¹ÞÀ» µ¥ÀÌÅ͸¦ ÀúÀåÇÒ¸¸ÇÑ ÃæºÐÇÑ °ø°£À» Á¦°øÇØ¾ß ÇÑ´Ù. À§ ¿¹Á¦¿¡¼­ str ¹öÆÛ¸¦ 5 Á¤µµÀÇ Å©±â·Î Ãà¼ÒÇϰí 4¹®ÀÚ ÀÌ»óÀ» ÀÔ·ÂÇÏ¸é ´Ù¿îµÉ ¼öµµ ÀÖ´Ù. ¾Æ¹«¸® C++À̶ó ÇÏ´õ¶óµµ Àü´Þ¹Þ´Â Á¤º¸°¡ ¹è¿­ÀÇ ½ÃÀÛ ¹øÁö¹Û¿¡ ¾øÀ¸¹Ç·Î ¹è¿­ Å©±â Á¡°ËÀ» ÇÒ ¼ö ¾ø´Ù.

 

À§ ¿¹Á¦¸¦ ½ÇÇàÇØ ³õ°í "  123abc"¸¦ ÀÔ·ÂÇØ º¸¸é cin°ú >> ¿¬»êÀÚÀÇ ¸ðµç Ư¼ºÀ» ÇѲ¨¹ø¿¡ Å×½ºÆ®ÇØ º¼ ¼ö ÀÖ´Ù. 123¾ÕÂÊ¿¡ ÀϺη¯ °ø¹é µÎ °³¸¦ ÀÔ·ÂÇØ º¸¾Ò´Ù.

 

  123abc

123

abc

 

"  123abc"±îÁö ÀÔ·ÂÇϰí Enter¸¦ ´©¸£´Â ¼ø°£ 123°ú abc°¡ È­¸éÀ¸·Î Ãâ·ÂµÇ¸é¼­ ÇÁ·Î±×·¥ÀÌ Á¾·áµÉ °ÍÀÌ´Ù.

cin >> i ÀԷ¹®ÀÌ ¾ÕÂÊÀÇ °ø¹éÀº ÀÏ´Ü °Ç³Ê ¶Ù°í 1ºÎÅÍ Àб⠽ÃÀÛÇÑ´Ù. ±×¸®°í 2¿Í 3À» Àаí a¸¦ ¸¸³¯ ¶§ Àб⸦ ÁßÁöÇÏ¿© 123À̶ó´Â °ªÀ» i¿¡ ´ëÀÔÇÏ°í ¸®ÅÏÇÑ´Ù. À̶§ ³ª¸ÓÁö µÞºÎºÐÀÇ abc´Â ¹öÆÛ¿¡ ±×´ë·Î ³²¾Æ ÀÖÀ¸¸ç ´ÙÀ½ ¹ø ÀÔ·ÂÀ» ±â´Ù¸°´Ù. cin >> str ÀԷ¹®Àº ¹öÆÛ¿¡ ³²¾Æ ÀÖ´Â µ¥ÀÌÅͰ¡ ÀÖÀ¸¹Ç·Î ÀÌ µ¥ÀÌÅ͸¦ º°µµÀÇ ´ë±â¾øÀÌ ±×´ë·Î Àоî¿Ã °ÍÀÌ´Ù. ÀÌ·± ÀÔ·Â ¹æ¹ýÀÌ ´ë°³ÀÇ °æ¿ì¿¡´Â ¹®Á¦°¡ ¾øÁö¸¸ ¹®ÀÚ³ª ¹®ÀÚ¿­À» ÀÐÀ» ¶§´Â ¿øÇÏ´Â ¸ñÀû¿¡ ¸ÂÁö ¾ÊÀ» ¼öµµ ÀÖ´Ù. ´ÙÀ½ ¿¹Á¦´Â ¹®ÀÚ Çϳª¿Í ¹®ÀÚ¿­À» Àд´Ù.

 

¿¹ Á¦ : cinstring

#include <Turboc.h>

#include <iostream>

using namespace std;

 

void main()

{

     char ch;

     char str[128];

 

     cin >> ch;

     cout << ch << endl;

     cin >> str;

     cout << str << endl;

}

 

ch´Â ÀÓÀÇÀÇ ¹®ÀÚ Çϳª¸¦ ÀԷ¹ÞÀ» ¼ö ÀÖÁö¸¸ ¾î¶»°Ô ÇÏ´õ¶óµµ °ø¹éÀº ÀԷ¹ÞÁö ¸øÇÑ´Ù. >> ¿¬»êÀÚ°¡ °ø¹éÀ» ¹«Á¶°Ç °Ç³Ê ¶Ù¾î ¹ö¸®±â ¶§¹®ÀÌ´Ù. strÀº °ø¹éÀ¸·Î ±¸ºÐµÈ ´Ü¾î¸¦ ÀԷ¹ÞÁö¸¸ °ø¹éÀÌ Æ÷ÇÔµÈ ¹®ÀåÀ» ÀԷ¹ÞÁö´Â ¸øÇÑ´Ù. »ç¶÷ À̸§À̳ª Á¦Ç°¸í µûÀ§ÀÇ ÂªÀº ¹®ÀÚ¿­ Á¤µµ¸¸ ÀÔ·ÂÇÒ ¼ö ÀÖÀ¸¸ç ÁÖ¼Ò³ª ¸ÞÀÏÀÇ Á¦¸ñ, Àϱ⠵ûÀ§ÀÇ º¹ÀâÇÑ ¹®ÀåÀº ÀÔ·ÂÇÒ ¼ö ¾ø´Ù. ±×·¡¼­ cin °´Ã¼´Â ÀÌ·± ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇØ >> ¿¬»êÀÚ¿Í´Â º°µµ·Î ´ÜÀÏ ¹®ÀÚ ÀԷ°ú ¹®Àå ÀÔ·Â ÇÔ¼ö¸¦ µû·Î Á¦°øÇÑ´Ù.

 

int get(void);

basic_istream& get(char& c);

basic_istream& getline(char *s, streamsize n, char delim='\n');

 

get ¸â¹ö ÇÔ¼ö´Â µÎ °¡Áö Çü½ÄÀ¸·Î »ç¿ëµÇ´Âµ¥ ÀԷ¹ÞÀº ¹®ÀÚ¸¦ ¸®ÅϰªÀ¸·Î µ¹·Á ÁÖ´Â Çü½Ä°ú Àμö·Î Àü´ÞµÈ charÇüÀÇ ·¹ÆÛ·±½º¿¡ ÀÔ·ÂµÈ °ªÀ» ´ëÀÔÇÏ´Â Çü½ÄÀÌ ÀÖ´Ù. ù ¹øÂ° get ÇÔ¼ö´Â CÀÇ getch ÇÔ¼ö¿Í À¯»çÇØ¼­ »ç¿ëÇÏ±â Æí¸®ÇÏ´Ù´Â ÀåÁ¡ÀÌ ÀÖ°í µÎ ¹øÂ° get ÇÔ¼ö´Â ÀÔ·Â °´Ã¼ÀÇ ·¹ÆÛ·±½º¸¦ ¸®ÅÏÇϹǷΠ¿¬¼âÀûÀÎ ÀÔ·ÂÀÌ °¡´ÉÇÏ´Ù´Â ÀåÁ¡ÀÌ ÀÖ´Ù.

 

cin.get(ch).get(ch2) >> i;

 

µÎ Çü½Ä ¸ðµÎ ÀÔ·ÂµÈ ¹®ÀÚ Çϳª¸¦ ¹«Á¶°Ç µ¹·ÁÁÖµµ·Ï µÇ¾î ÀÖÀ¸¹Ç·Î °ø¹éÀ̳ª °³Çà Äڵ嵵 ÀԷ¹ÞÀ» ¼ö ÀÖ´Ù. getline ÇÔ¼ö´Â ¹®ÀÚÇü ¹è¿­¿¡ ¹®ÀÚ¿­À» ÀÔ·Â¹ÞµÇ ¹è¿­ÀÇ Å©±â¸¦ Àü´Þ¹Þ¾Æ ¹è¿­ °æ°è¸¦ ³Ñ¾î¼­±îÁö ÀԷ¹ÞÁö ¾ÊÀ¸¹Ç·Î ¾ÈÀüÇÏ´Ù. ¼¼ ¹øÂ° Àμö delimÀº ÀÌ ¹®ÀÚ°¡ ÀԷµDZâ Àü±îÁö °è¼Ó ÀԷ¹޵µ·Ï Çϴµ¥ µðÆúÆ®°ªÀº °³Çà ÄÚµå·Î µÇ¾î ÀÖÀ¸¹Ç·Î °³Çà ÄÚµå ÀüÀÇ ¹®ÀÚ¿­À» ¸ðµÎ ÀԷ¹޴´Ù. µû¶ó¼­ >> ¿¬»êÀÚº¸´Ù´Â ÈξÀ ´õ ¾ÈÁ¤ÀûÀÌ¸ç °ø¹éÀ» Æ÷ÇÔÇÑ ¹®ÀÚ¿­µµ ÀԷ¹ÞÀ» ¼ö ÀÖ´Ù. ´ÙÀ½°ú °°ÀÌ ¿¹Á¦¸¦ ¼öÁ¤ÇØ º¸ÀÚ.

 

¿¹ Á¦ : cinstring2

#include <Turboc.h>

#include <iostream>

using namespace std;

 

void main()

{

     char ch;

     char str[128];

 

     cin.get(ch);

     cout << ch << endl;

     cin.get(ch);

 

     cin.getline(str,128);

     cout << str << endl;

}

 

°ø¹éÀ̳ª °³Çà ÄÚµå, ÅÇ ¹®ÀÚµµ ¹«Á¶°Ç ÀԷ¹ÞÀ¸¸ç 127¹®ÀÚ ±æÀÌ ³»¿¡¼­ °ø¹éÀ» Æ÷ÇÔÇÑ ±ä ¹®Àåµµ ÀԷ¹ÞÀ» ¼ö ÀÖ´Ù. °ø¹é ¹«½Ã ¿©ºÎ¿Í ¹®ÀÚ¿­ ³»ÀÇ °ø¹é Æ÷ÇÔ ¿©ºÎ¿¡ µû¶ó >> ¿¬»êÀÚ³ª get, getline ÇÔ¼ö Áß Àû´çÇÑ ÇÔ¼ö¸¦ »ç¿ëÇÏ¸é µÈ´Ù. Âü°í·Î getline ÇÔ¼ö¿Í ¶È°°Àº ¿øÇüÀ» °¡Áö´Â get ÇÔ¼öµµ Áߺ¹ Á¤ÀǵǾî ÀÖ´Ù.

ÀÔ·ÂÀº Ãâ·Â°ú´Â ´Þ¸® µ¿ÀÛÁß¿¡ ¿¡·¯ ¹ß»ý °¡´É¼ºÀÌ ³ô´Ù. ±×·¡¼­ ¿øÇÏ´Â °ªÀÌ Á¦´ë·Î ÀԷµǾú´ÂÁö Ç×»ó Á¡°ËÇØ¾ß Çϴµ¥ ¿¡·¯¸¦ °ËÃâÇÒ ¼ö ÀÖ´Â ¿©·¯ °¡Áö ÀåÄ¡°¡ ÁغñµÇ¾î ÀÖ´Ù. ¿ì¼± >> ¿¬»êÀÚÀÇ ¸®ÅϰªÀ» ¿¡·¯ 󸮿¡ °ð¹Ù·Î »ç¿ëÇÒ ¼ö Àִµ¥ ÀԷ¹® ÀÚü¸¦ if¹®À̳ª while¹®ÀÇ Á¶°Ç½ÄÀ¸·Î »ç¿ëÇÏ´Â °ÍÀÌ´Ù.

 

¿¹ Á¦ : cinerror

#include <Turboc.h>

#include <iostream>

using namespace std;

 

void main()

{

     int i;

 

     if (cin >> i) {

          cout << i << endl;

     } else {

          cout << "½ÇÆÐ" << endl;

     }

}

 

Á¤¼öÇü °ª Çϳª¸¦ ÀÔ·Â¹Þ¾Æ ±×´ë·Î Ãâ·ÂÇ쵂 ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì ½ÇÆÐÇß´Ù´Â °ÍÀ» ¹®ÀÚ¿­·Î Ãâ·ÂÇϵµ·Ï Çß´Ù. 123°°Àº Á¤¼ö¸¦ ÀÔ·ÂÇϸé Á¤»óÀûÀ¸·Î ½ÇÇàµÇ°ÚÁö¸¸ abc°°Àº ¹®ÀÚ¿­À» ÀÔ·ÂÇÏ¸é ¿¡·¯ »óȲÀÌ µÉ °ÍÀÌ´Ù. >> ¿¬»êÀÚ´Â ÀÔ·Â °´Ã¼ÀÇ ·¹ÆÛ·±½º¸¦ ¸®ÅÏÇϴµ¥ ½ÇÆÐÇÒ °æ¿ì ÀÔ·Â °´Ã¼ÀÇ ¿¡·¯ ºñÆ®¸¦ ¼³Á¤ÇÏ´Â ¹æ½ÄÀ¸·Î ¿¬»ê½Ä ÀüüÀÇ Æò°¡ °á°ú¸¦ false·Î ¸¸µé¹Ç·Î ÀԷ¹® ÀÚü¸¦ if¹® ¾È¿¡ ³Ö¾î ¿¡·¯ ¹ß»ý ¿©ºÎ¸¦ Á¶»çÇÒ ¼ö ÀÖ´Ù.

cin °´Ã¼´Â ³»ºÎÀûÀ¸·Î ¿¡·¯ ¹ß»ý ¿©ºÎ¸¦ Ç¥½ÃÇÏ´Â ¼¼ °³ÀÇ Ç÷¡±×¸¦ À¯ÁöÇϴµ¥ ÀÔ·Â µ¿ÀÛ ÈÄ ÀÌ Ç÷¡±×µéÀÇ °ªÀ» Á¡°ËÇÏ¿© ¾î¶² ¿¡·¯°¡ ¹ß»ýÇß´ÂÁö¸¦ ¾Ë ¼ö ÀÖ´Ù. ¿¡·¯ Ç÷¡±×´Â ´ÙÀ½ ¼¼ Á¾·ù°¡ Á¤ÀǵǾî Àִµ¥ ÄÜ¼Ö ÀԷ»Ӹ¸ ¾Æ´Ï¶ó ÆÄÀÏ ÀԷ±îÁö °í·ÁÇÏ¿© ÀϹÝÀûÀÎ ¿¡·¯¸¦ ¸ðµÎ ó¸®ÇÒ ¼ö ÀÖµµ·Ï Á¤ÀǵǾî ÀÖ´Ù.

 

Ç÷¡±×

¼³¸í

failbit

ÀԷ¿¡ ½ÇÆÐÇß´Ù´Â ¶æÀÌ´Ù. Á¤¼ö¸¦ ÀԷ¹޴µ¥ ¹®ÀÚ°¡ ÀÔ·ÂµÈ °æ¿ì 1ÀÌ µÈ´Ù.

eofbit

ÆÄÀÏ ³¡À̶ó´Â ¶æÀÌ´Ù. ´õ ÀÌ»ó ÀÐÀ» ¹®ÀÚ°¡ ¾øÀ¸¹Ç·Î ¿¡·¯¸¦ ¸®ÅÏÇÑ´Ù.

badbit

½ºÆ®¸²ÀÌ ¹°¸®ÀûÀ¸·Î ¼Õ»óµÇ¾î ÀÐÀ» ¼ö ¾ø´Ù.

goodbit

»ó±â ¼¼ ¿¡·¯°¡ ¹ß»ýÇÏÁö ¾Ê¾Ò´Ù´Â ¶æÀ̸ç 0À¸·Î Á¤ÀǵǾî ÀÖ´Ù.

 

°¢°¢ÀÇ ¿¡·¯°¡ ¹ß»ýÇß´ÂÁö¸¦ Á¶»çÇÏ´Â fail(), bad(), eof(), good() ¸â¹ö ÇÔ¼ö°¡ Á¤ÀǵǾî ÀÖÀ¸¹Ç·Î ÀÌ ÇÔ¼öµéÀ» È£ÃâÇÏ¿© ÀÔ·Â °´Ã¼ÀÇ »óŰ¡ ¾î¶°ÇÑÁö¸¦ Á¶»çÇÒ ¼ö ÀÖ´Ù. À§ ¿¹Á¦¸¦ ¿¡·¯ Ç÷¡±×¸¦ Á¶»çÇÏ´Â ¹æ½ÄÀ¸·Î ¹Ù²Ù¾î º¸¸é ´ÙÀ½°ú °°´Ù.

 

¿¹ Á¦ : cinerrorbit

#include <Turboc.h>

#include <iostream>

using namespace std;

 

void main()

{

     int i;

 

     cin >> i;

     if (cin.good()) {

          cout << i << endl;

     } else {

          cout << "½ÇÆÐ" << endl;

     }

}

 

cin >> i; ¹®ÀåÀ¸·Î ÀÔ·ÂÀ» ¹ÞÀº ÈÄ good() ÇÔ¼ö¸¦ È£ÃâÇØ º¸¸é Á¦´ë·Î Á¤¼ö°ªÀ» ÀԷ¹޾ҴÂÁö¸¦ ¾Ë ¼ö ÀÖ´Ù. if (!cin.fail()) ·Î Á¡°ËÇØµµ °á°ú´Â °ÅÀÇ µ¿ÀÏÇÏ´Ù. cin °´Ã¼´Â ÀÏ´Ü ¿¡·¯°¡ ¹ß»ýÇÏ¸é °è¼Ó ¿¡·¯ »óŸ¦ À¯ÁöÇϸç ÀÌ »óÅ¿¡¼­´Â ¾î¶°ÇÑ ÀԷµµ ¹Þ¾ÆµéÀÌÁö ¸øÇÑ´Ù. ±×·¡¼­ º°µµÀÇ ÇÔ¼ö·Î ¿¡·¯ »óŸ¦ ¸®¼ÂÇØ¾ß Çϴµ¥ À̶§´Â ´ÙÀ½ ¸â¹ö ÇÔ¼öµéÀ» »ç¿ëÇÑ´Ù.

 

iostate rdstate() const;

void setstate(iostate state);

void clear(iostate state = goodbit);

 

rdstate´Â ¿¡·¯ Ç÷¡±×ÀÇ °ªÀ» ¸®ÅÏÇϸç setstate´Â ¿¡·¯ Ç÷¡±×¸¦ ¼³Á¤Çϰųª ÇØÁ¦ÇÑ´Ù. clearµµ ¿¡·¯ Ç÷¡±×¸¦ º¯°æÇϴµ¥ ÁöÁ¤ÇÑ Ç÷¡±×°ª¸¸ ³²±â°í ³ª¸ÓÁö¸¦ ¸ðµÎ ¸®¼ÂÇÑ´Ù´Â Á¡ÀÌ setstate¿Í´Â ´Ù¸£´Ù. Áï, setstate´Â ÁöÁ¤ÇÑ Ç÷¡±×¸¸ ¼³Á¤ÇÏÁö¸¸ clear´Â ³ª¸ÓÁö Ç÷¡±×±îÁö Åë°·Î ¸®¼ÂÇÑ´Ù.

 

cin.setstate(failbit); // failbit¸¦ ¼³Á¤ÇÑ´Ù. ³ª¸ÓÁö ºñÆ®´Â ¿ø·¡ »óŸ¦ À¯ÁöÇÑ´Ù.

cin.clear(failbit);     // failbit¸¦ ¼³Á¤ÇÏ°í ³ª¸ÓÁö ºñÆ®´Â ¸®¼ÂÇÑ´Ù.

 

ÀÌ ¿Ü¿¡ Àß »ç¿ëµÇÁö´Â ¾ÊÁö¸¸ ´ÙÀ½°ú °°Àº ¸â¹ö ÇÔ¼öµéÀÌ ´õ Á¤ÀǵǾî ÀÖ´Ù.

 

¸â¹ö ÇÔ¼ö

¼³¸í

ignore

ÁöÁ¤ÇÑ ±æÀ̸¸Å­ ¶Ç´Â ÁöÁ¤ÇÑ ¹®ÀÚ°¡ ³ª¿Ã ¶§±îÁö µ¥ÀÌÅ͸¦ ¹«½ÃÇÑ´Ù. ¹öÆÛ¿¡ µé¾î ÀÖ´Â µ¥ÀÌÅ͸¦ Àо ¹ö¸®°íÀÚ ÇÒ ¶§ ÀÌ ÇÔ¼ö¸¦ ¾´´Ù.

peek

¹öÆÛ¿¡ ÀÖ´Â µ¥ÀÌÅ͸¦ Àб⸸ Çϰí Á¦°ÅÇÏÁö´Â ¾Ê´Â´Ù. ¾î¶² µ¥ÀÌÅͰ¡ ¹öÆÛ¿¡ ÀÖ´ÂÁö »ì¦ µé¿©´Ù º¸±â¸¸ ÇÒ ¶§ ÀÌ ÇÔ¼ö¸¦ »ç¿ëÇÑ´Ù.

gcount

¾Õ ÀԷ¹®¿¡ ÀÇÇØ ½ÇÁ¦·Î ÀÐÇôÁø µ¥ÀÌÅÍÀÇ ±æÀ̸¦ Á¶»çÇÑ´Ù. >> ¿¬»êÀÚ·Î ÀÐÀº ±æÀÌ´Â Á¶»çÇÒ ¼ö ¾øÀ¸¸ç get, getline, read µîÀÇ ÇÔ¼ö·Î ÀÐÀº ±æÀ̸¸ Á¶»çÇÒ ¼ö ÀÖ´Ù.

putback

ƯÁ¤ µ¥ÀÌÅ͸¦ ¹öÆÛ¿¡ ´Ù½Ã ¹Ð¾î ³Ö´Â´Ù. ¸¶Ä¡ ¾î¶² ¹®ÀÚ°¡ ÀÔ·ÂµÈ °Íó·³ ¸¸µé°í ½ÍÀ» ¶§ ÀÌ ÇÔ¼ö¸¦ »ç¿ëÇϴµ¥ ÀÌ ÇÔ¼ö°¡ ¹Ð¾î ³ÖÀº µ¥ÀÌÅÍ´Â ´ÙÀ½ ¹ø ÀÔ·Â ÇÔ¼ö¿¡ ÀÇÇØ ²¨³»Áú °ÍÀÌ´Ù.

 

±× ¿ÜÀÇ °í±Þ ÇÔ¼öµéÀº ÁÖ·Î ÆÄÀÏ ÀÔÃâ·Â ½ºÆ®¸²¿¡ ´ëÇØ »ç¿ëµÈ´Ù.