´ÙÀ½Àº ¹®ÀÚ¿ Áß°£¿¡ ´Ù¸¥ ¹®ÀÚ ¶Ç´Â ¹®ÀÚ¿À» »ðÀÔÇÏ´Â 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"·Î ÃʱâȵȴÙ.