36-2-¸¶.»ðÀÔ°ú »èÁ¦

´ÙÀ½Àº ¹®ÀÚ¿­ Áß°£¿¡ ´Ù¸¥ ¹®ÀÚ ¶Ç´Â ¹®ÀÚ¿­À» »ðÀÔÇÏ´Â insert ÇÔ¼ö¿¡ ´ëÇØ ¾Ë¾Æº¸ÀÚ. »ðÀÔ ´ë»óÀ» ´Ù¾çÇÏ°Ô ÁöÁ¤ÇÒ ¼ö ÀÖÀ¸¹Ç·Î ¿©·¯ ¹úÀÇ ÇÔ¼ö°¡ ÁغñµÇ¾î ÀÖ´Ù.

 

string& insert(size_t pos, const char* ptr);

string& insert(size_t pos, const char* ptr, size_t count);

string& insert(size_t pos, const string& str);

string& insert(size_t pos, const string& str, int off, int count);

string& insert(size_t pos, int count, char ch);

void push_back(char ch);

 

»ðÀÔ µ¿ÀÛÀº ¹®ÀÚ¿­¿¡ ³»¿ëÀ» Ãß°¡ÇÏ´Â append¿Í À¯»çÇ쵂 ´Ù¸¸ »ðÀÔÇÏ´Â ÁöÁ¡À» Àμö·Î Àü´ÞÇÑ´Ù´Â °Í¸¸ ´Ù¸¦ »ÓÀÌ´Ù. ±×·¡¼­ ¸ðµç insert ÇÔ¼öÀÇ Ã¹ ¹øÂ° Àμö´Â »ðÀÔ ÁöÁ¡À» °¡¸®Å°´Â posÀÌ´Ù. ¾î¶»°Ô º¸¸é append ÇÔ¼ö¸¦ ¹®ÀÚ¿­ ³¡¿¡ »ðÀÔÇÏ´Â ÇÔ¼ö¶ó°í º¼ ¼öµµ ÀÖÀ¸¹Ç·Î append´Â ù ¹øÂ° Àμö°¡ size()ÀÎ insert¶ó°í ÇÒ ¼ö ÀÖ´Ù.

»ðÀÔÇÒ ¼ö ÀÖ´Â ´ë»óÀº ¹®ÀÚ¿­ »ó¼ö, string °´Ã¼, ¿¬¼ÓÀûÀÎ µ¿ÀÏ ¹®ÀÚÀÌµÇ ´ë»óÀÇ ÀϺκи¸ ¿øÇÏ´Â ±æÀ̸¸Å­ »ðÀÔÇÒ ¼öµµ ÀÖ´Ù. ÇÔ¼öÀÇ ¿øÇüÀ¸·ÎºÎÅÍ ÀμöÀÇ Àǹ̴ ½±°Ô À¯Ãß °¡´ÉÇÏ´Ù. off°¡ ´ë»óÀÇ ½ÃÀÛ À§Ä¡À̸ç count°¡ »ðÀÔÇÒ ¹®ÀÚÀÇ °³¼öÀÌ´Ù. push_back ÇÔ¼ö´Â ¹®ÀÚ Çϳª¸¸ Á¦ÀÏ ³¡¿¡ Ãß°¡ÇÏ´Â ÇÔ¼öÀε¥ STLÇü½ÄÀÇ ÇÔ¼ö¸¦ string °´Ã¼¿¡ Á¤ÀÇÇØ ³õÀº °ÍÀÌ´Ù. ´ÙÀ½Àº ¹®ÀÚ¿­ÀÇ ÀϺθ¦ »èÁ¦ÇÏ´Â ÇÔ¼öÀÌ´Ù.

 

string& erase(size_t pos=0, size_t count=npos);

 

»ðÀÔ¿¡ ºñÇØ »èÁ¦´Â ´Ù¸¥ ´ë»ó°ú »ó°ü¾øÀÌ ÀÚ±â ÀÚ½ÅÀÇ ÀϺθ¦ Áö¿ì´Â °ÍÀ̹ǷΠ±¸Á¶°¡ ÈξÀ ´õ °£´ÜÇÏ´Ù. pos À§Ä¡¿¡¼­ count °³¼ö¸¸Å­ÀÇ ¹®ÀÚ°¡ »èÁ¦µÈ´Ù. ÀÌ ÇÔ¼ö ¿Ü¿¡ STLÀÇ ¹Ýº¹ÀÚ¸¦ Àμö·Î ÃëÇØ ÀÏÁ¤ ¹üÀ§¸¦ »èÁ¦ÇÏ´Â ¿øÇüµµ ÀÖ´Ù. ´ÙÀ½ ¿¹Á¦·Î »ðÀÔ, »èÁ¦ ÇÔ¼ö¸¦ Å×½ºÆ®ÇØ º¸ÀÚ.

 

¿¹ Á¦ : stringinsert

#include <Turboc.h>

#include <iostream>

#include <string>

using namespace std;

 

void main()

{

     string s1("1234567890");

     string s2("^_^");

 

     cout << s1 << endl;

     s1.insert(5,"XXX");

     cout << s1 << endl;

     s1.insert(5,s2);

     cout << s1 << endl;

     s1.erase(5,6);

     cout << s1 << endl;

}

 

1~0±îÁöÀÇ ¼ýÀÚ·Î ±¸¼ºµÈ s1¹®ÀÚ¿­¿¡ ´Ù¸¥ ¹®ÀÚ¿­À» »ðÀÔ ¹× »èÁ¦ÇØ º¸´Â ¿¹Á¦ÀÌ´Ù. ½ÇÇà °á°ú´Â ´ÙÀ½°ú °°´Ù.

 

1234567890

12345XXX67890

12345^_^XXX67890

1234567890

 

±æÀÌ 3ÀÇ ¹®ÀÚ¿­À» µÎ ¹ø »ðÀÔÇÏ°í ¿©¼¸ ¹®ÀÚ¸¦ »èÁ¦ÇßÀ¸¹Ç·Î °á±¹ ¿øº» ¹®ÀÚ¿­°ú °°¾ÆÁø´Ù. ´ÙÀ½Àº ¹®ÀÚ¿­ÀÇ ÀϺθ¦ ´Ù¸¥ ³»¿ëÀ¸·Î ¹Ù²Ù´Â ´ëü ÇÔ¼ö¿¡ ´ëÇØ ¾Ë¾Æº¸ÀÚ. ÃÑ 10°³ÀÇ ÇÔ¼ö°¡ Áߺ¹ Á¤ÀǵǾî Àִµ¥ ºñ½Á ºñ½ÁÇϹǷΠ´ëÇ¥ÀûÀ¸·Î ´ÙÀ½ ÇÔ¼ö Çϳª¸¸ ¾Ë¾Æ µÎ¸é µÈ´Ù.

 

string& replace(size_t pos, size_t num, const char *ptr);

 

posÀ§Ä¡¿¡¼­ºÎÅÍ num°³±îÁöÀÇ ¹®ÀÚ¿­À» ptr·Î ´ëüÇÑ´Ù. ³ª¸ÓÁö ÇÔ¼ö´Â string°´Ã¼¸¦ Àμö·Î ÃëÇϰųª ´ëüÇÏ´Â ¹®ÀÚ¿­ÀÇ ÀϺθ¸À» ÃëÇÏ´Â ½ÄÀε¥ ·¹ÆÛ·±½º¸¦ Âü°íÇϱ⠹ٶõ´Ù. ´ÙÀ½Àº Å×½ºÆ® ¿¹Á¦ÀÌ´Ù.

 

¿¹ Á¦ : stringreplace

#include <iostream>

#include <string>

using namespace std;

 

void main()

{

     string s1="µ¶µµ´Â ÀϺ»¶¥";

 

     cout << s1 << endl;

     s1.replace(7,4,"´ëÇѹα¹");

     cout << s1 << endl;

}

 

s1Àº ¸»µµ ¾ÈµÇ´Â °ÅÁþ¸»Àε¥ ÀÌ ¹®ÀÚ¿­ÀÇ 7¹øÂ° À§Ä¡¿¡¼­ ±æÀÌ 4¸¸Å­ÀÎ "ÀϺ»"À» "´ëÇѹα¹"À̶ó´Â ¹®ÀÚ¿­·Î ´ëüÇß´Ù. ½ÇÇà °á°ú´Â "µ¶µµ´Â ´ëÇѹα¹¶¥"ÀÌ µÈ´Ù. ÀÌ ¿¹¿¡¼­ º¸´Ù½ÃÇÇ ´ëüµÇ´Â ¹®ÀÚ¿­ÀÌ ¿øº» ¹®ÀÚ¿­°ú ±æÀ̰¡ ²À °°Áö ¾Ê¾Æµµ »ó°ü¾ø´Ù. ´õ ±ä ¹®ÀÚ¿­À̳ª ´õ ªÀº ¹®ÀÚ¿­·Î ´ëüÇÏ´Â °Íµµ °¡´ÉÇѵ¥ À̶§ ´Ã¾î³ª´Â ¸Þ¸ð¸®´Â ÀÚµ¿À¸·Î °ü¸®µÇ¸ç µÚÂÊ ¹®ÀÚ¿­µµ ¾Ë¾Æ¼­ À̵¿ÇÑ´Ù. ´ÙÀ½ ÇÔ¼ö´Â string °´Ã¼ÀÇ ÀϺΠ¹®ÀÚ¿­À» ÃßÃâÇÏ¿© »õ·Î¿î string °´Ã¼¸¦ »ý¼ºÇÑ´Ù.

 

string substr(size_t off=0, size_t count=npos); const;

 

off À§Ä¡¿¡¼­ºÎÅÍ count °³¼ö¸¸Å­ÀÇ ºÎºÐ ¹®ÀÚ¿­À» ÃßÃâÇÏ¿© »õ·Î¿î string °´Ã¼¸¦ ¸¸µé¸ç ¿øº» °´Ã¼´Â °Çµå¸®Áö ¾Ê´Â´Ù. ÀÌ ÇÔ¼ö¸¦ »ç¿ëÇÏ¸é ºÎºÐ ¹®ÀÚ¿­·Î ±¸¼ºµÈ string °´Ã¼¸¦ ¸¸µé ¼öµµ ÀÖ´Ù.

 

¿¹ Á¦ : substr

#include <iostream>

#include <string>

using namespace std;

 

void main()

{

     string s1("123456789");

     string s2=s1.substr(3,4);

 

     cout << "s1:" << s1 << endl;

     cout << "s2:" << s2 << endl;

}

 

s1ÀÇ 3¹øÂ°¿¡¼­ºÎÅÍ ±æÀÌ 4¸¸Å­ÀÇ ºÎºÐ ¹®ÀÚ¿­À» ÃëÇØ s2¿¡ ´ëÀÔÇßÀ¸¹Ç·Î s2´Â "4567"·Î ÃʱâÈ­µÈ´Ù.