24СʱÈÈÃŰæ¿éÅÅÐаñ    

²é¿´: 1280  |  »Ø¸´: 5
¡¾½±Àø¡¿ ±¾Ìû±»ÆÀ¼Û4´Î£¬×÷Õßstephenliu89Ôö¼Ó½ð±Ò 2.35 ¸ö

stephenliu89

Òø³æ (СÓÐÃûÆø)


[×ÊÔ´] ¡¾·ÖÏí¡¿C++ stringÀà

C++ stringÀà

Ö®ËùÒÔÅׯúchar*µÄ×Ö·û´®¶øÑ¡ÓÃC++±ê×¼³ÌÐò¿âÖеÄstringÀ࣬ÊÇÒòΪËûºÍǰÕß±È½ÏÆðÀ´£¬²»±Øµ£ÐÄÄÚ´æÊÇ·ñ×ã¹»¡¢×Ö·û´®³¤¶ÈµÈµÈ£¬¶øÇÒ×÷Ϊһ¸öÀà³öÏÖ£¬Ëû¼¯³ÉµÄ²Ù×÷º¯Êý×ãÒÔÍê³ÉÎÒÃÇ´ó¶àÊýÇé¿öÏÂ(ÉõÖÁÊÇ100%)µÄÐèÒª¡£ÎÒÃÇ¿ÉÒÔÓà = ½øÐи³Öµ²Ù×÷£¬== ½øÐбȽϣ¬+ ×ö´®Áª£¨ÊDz»ÊǺܼòµ¥?£©¡£ÎÒÃǾ¡¿ÉÒÔ°ÑËü¿´³ÉÊÇC++µÄ»ù±¾Êý¾ÝÀàÐÍ¡£
ºÃÁË£¬½øÈëÕýÌâ¡­¡­¡­
Ê×ÏÈ£¬ÎªÁËÔÚÎÒÃǵijÌÐòÖÐʹÓÃstringÀàÐÍ£¬ÎÒÃDZØÐë°üº¬Í·Îļþ ¡£ÈçÏ£º
#include //×¢ÒâÕâÀï²»ÊÇstring.h string.hÊÇC×Ö·û´®Í·Îļþ

1£®ÉùÃ÷Ò»¸öC++×Ö·û´®
ÉùÃ÷Ò»¸ö×Ö·û´®±äÁ¿ºÜ¼òµ¥£º
string Str;
ÕâÑùÎÒÃǾÍÉùÃ÷ÁËÒ»¸ö×Ö·û´®±äÁ¿£¬µ«¼ÈÈ»ÊÇÒ»¸öÀ࣬¾ÍÓй¹Ô캯ÊýºÍÎö¹¹º¯Êý¡£ÉÏÃæµÄÉùÃ÷ûÓд«Èë²ÎÊý£¬ËùÒÔ¾ÍÖ±½ÓʹÓÃÁËstringµÄĬÈϵĹ¹Ô캯Êý£¬Õâ¸öº¯ÊýËù×÷µÄ¾ÍÊǰÑStr³õʼ»¯ÎªÒ»¸ö¿Õ×Ö·û´®¡£StringÀàµÄ¹¹Ô캯ÊýºÍÎö¹¹º¯ÊýÈçÏ£º
a) string s; //Éú³ÉÒ»¸ö¿Õ×Ö·û´®s
b) string s(str) //¿½±´¹¹Ô캯Êý Éú³ÉstrµÄ¸´ÖÆÆ·
c) string s(str,stridx) //½«×Ö·û´®strÄÚ¡°Ê¼ÓÚλÖÃstridx¡±µÄ²¿·Öµ±×÷×Ö·û´®µÄ³õÖµ
d) string s(str,stridx,strlen) //½«×Ö·û´®strÄÚ¡°Ê¼ÓÚstridxÇÒ³¤¶È¶¥¶àstrlen¡±µÄ²¿·Ö×÷Ϊ×Ö·û´®µÄ³õÖµ
e) string s(cstr) //½«C×Ö·û´®×÷ΪsµÄ³õÖµ
f) string s(chars,chars_len) //½«C×Ö·û´®Ç°chars_len¸ö×Ö·û×÷Ϊ×Ö·û´®sµÄ³õÖµ¡£
g) string s(num,c) //Éú³ÉÒ»¸ö×Ö·û´®£¬°üº¬num¸öc×Ö·û
h) string s(beg,end) //ÒÔÇø¼äbeg;end(²»°üº¬end)ÄÚµÄ×Ö·û×÷Ϊ×Ö·û´®sµÄ³õÖµ
i) s.~string() //Ïú»ÙËùÓÐ×Ö·û£¬ÊÍ·ÅÄÚ´æ
¶¼ºÜ¼òµ¥£¬ÎҾͲ»½âÊÍÁË¡£
2£®×Ö·û´®²Ù×÷º¯Êý
ÕâÀïÊÇC++×Ö·û´®µÄÖØµã£¬ÎÒÏȰѸ÷ÖÖ²Ù×÷º¯ÊýÂÞÁгöÀ´£¬²»Ï²»¶°ÑËùÓк¯Êý¶¼¿´ÍêµÄÈË¿ÉÒÔÔÚÕâÀïÕÒ×Ô¼ºÏ²»¶µÄº¯Êý£¬ÔÙµ½ºóÃæ¿´ËûµÄÏêϸ½âÊÍ¡£
a) =,assign() //¸³ÒÔÐÂÖµ
b) swap() //½»»»Á½¸ö×Ö·û´®µÄÄÚÈÝ
c) +=,append(),push_back() //ÔÚβ²¿Ìí¼Ó×Ö·û
d) insert() //²åÈë×Ö·û
e) erase() //ɾ³ý×Ö·û
f) clear() //ɾ³ýÈ«²¿×Ö·û
g) replace() //Ìæ»»×Ö·û
h) + //´®Áª×Ö·û´®
i) ==,!=,<,<=,>,>=,compare() //±È½Ï×Ö·û´®
j) size(),length() //·µ»Ø×Ö·ûÊýÁ¿
k) max_size() //·µ»Ø×Ö·ûµÄ¿ÉÄÜ×î´ó¸öÊý
l) empty() //ÅжÏ×Ö·û´®ÊÇ·ñΪ¿Õ
m) capacity() //·µ»ØÖØÐ·ÖÅä֮ǰµÄ×Ö·ûÈÝÁ¿
n) reserve() //±£ÁôÒ»¶¨Á¿ÄÚ´æÒÔÈÝÄÉÒ»¶¨ÊýÁ¿µÄ×Ö·û
o) [ ], at() //´æÈ¡µ¥Ò»×Ö·û
p) >>,getline() //´Óstream¶Áȡijֵ
q) << //½«Ä±ÖµÐ´Èëstream
r) copy() //½«Ä³Öµ¸³ÖµÎªÒ»¸öC_string
s) c_str() //½«ÄÚÈÝÒÔC_string·µ»Ø
t) data() //½«ÄÚÈÝÒÔ×Ö·ûÊý×éÐÎʽ·µ»Ø
u) substr() //·µ»ØÄ³¸ö×Ó×Ö·û´®
v)²éÕÒº¯Êý
w)begin() end() //ÌṩÀàËÆSTLµÄµü´úÆ÷Ö§³Ö
x) rbegin() rend() //ÄæÏòµü´úÆ÷
y) get_allocator() //·µ»ØÅäÖÃÆ÷
ÏÂÃæÏêϸ½éÉÜ£º
2£®1 C++×Ö·û´®ºÍC×Ö·û´®µÄת»»
C++ÌṩµÄÓÉC++×Ö·û´®µÃµ½¶ÔÓ¦µÄC_stringµÄ·½·¨ÊÇʹÓÃdata()¡¢c_str()ºÍcopy()£¬ÆäÖУ¬data()ÒÔ×Ö·ûÊý×éµÄÐÎʽ·µ»Ø×Ö·û´®ÄÚÈÝ£¬µ«²¢²»Ìí¼Ó¡¯\0¡¯¡£c_str()·µ»ØÒ»¸öÒÔ¡®\0¡¯½áβµÄ×Ö·ûÊý×飬¶øcopy()Ôò°Ñ×Ö·û´®µÄÄÚÈݸ´ÖÆ»òдÈë¼ÈÓÐµÄ c_string»ò×Ö·ûÊý×éÄÚ¡£C++×Ö·û´®²¢²»ÒÔ¡¯\0¡¯½áβ¡£ÎҵĽ¨ÒéÊÇÔÚ³ÌÐòÖÐÄÜʹÓÃC++×Ö·û´®¾ÍʹÓ㬳ý·ÇÍò²»µÃÒѲ»Ñ¡ÓÃc_string¡£ÓÉÓÚÖ»ÊǼòµ¥½éÉÜ£¬Ïêϸ½éÉÜÂÓ¹ý£¬Ë­Ïë½øÒ»²½Á˽âʹÓÃÖеÄ×¢ÒâÊÂÏî¿ÉÒÔ¸øÎÒÁôÑÔ(µ½ÎÒµÄÊÕ¼þÏä)¡£ÎÒÏêϸ½âÊÍ¡£
2£®2 ´óСºÍÈÝÁ¿º¯Êý
Ò»¸öC++×Ö·û´®´æÔÚÈýÖÖ´óС£ºa)ÏÖÓеÄ×Ö·ûÊý£¬º¯ÊýÊÇsize()ºÍlength()£¬ËûÃǵÈЧ¡£Empty()ÓÃÀ´¼ì²é×Ö·û´®ÊÇ·ñΪ¿Õ¡£ b)max_size() Õâ¸ö´óСÊÇÖ¸µ±Ç°C++×Ö·û´®×î¶àÄܰüº¬µÄ×Ö·ûÊý£¬ºÜ¿ÉÄܺͻúÆ÷±¾ÉíµÄÏÞÖÆ»òÕß×Ö·û´®ËùÔÚλÖÃÁ¬ÐøÄÚ´æµÄ´óСÓйØÏµ¡£ÎÒÃÇÒ»°ãÇé¿öϲ»ÓùØÐÄËû£¬Ó¦¸Ã´óС×ã¹»ÎÒÃÇÓõġ£µ«ÊDz»¹»Óõϰ£¬»áÅ׳ölength_errorÒì³£c)capacity()ÖØÐ·ÖÅäÄÚ´æÖ®Ç° stringËùÄܰüº¬µÄ×î´ó×Ö·ûÊý¡£ÕâÀïÁíÒ»¸öÐèÒªÖ¸³öµÄÊÇreserve()º¯Êý£¬Õâ¸öº¯ÊýΪstringÖØÐ·ÖÅäÄÚ´æ¡£ÖØÐ·ÖÅäµÄ´óСÓÉÆä²ÎÊý¾ö¶¨£¬Ä¬ÈϲÎÊýΪ0£¬Õâʱºò»á¶Ôstring½øÐзÇÇ¿ÖÆÐÔËõ¼õ¡£

»¹ÓбØÒªÔÙÖØ¸´Ò»ÏÂC++×Ö·û´®ºÍC×Ö·û´®×ª»»µÄÎÊÌ⣬Ðí¶àÈË»áÓöµ½ÕâÑùµÄÎÊÌ⣬×Ô¼º×öµÄ³ÌÐòÒªµ÷ÓñðÈ˵ĺ¯Êý¡¢ÀàʲôµÄ£¨±ÈÈçÊý¾Ý¿âÁ¬½Óº¯ÊýConnect(char*,char*)£©£¬µ«±ðÈ˵ĺ¯Êý²ÎÊýÓõÄÊÇchar*ÐÎʽµÄ£¬¶øÎÒÃÇÖªµÀ£¬c_str()¡¢data()·µ»ØµÄ×Ö·ûÊý×éÓɸÃ×Ö·û´®ÓµÓУ¬ËùÒÔÊÇÒ»ÖÖconst char*,ÒªÏë×÷ΪÉÏÃæÌá¼°µÄº¯ÊýµÄ²ÎÊý£¬»¹±ØÐ뿽±´µ½Ò»¸öchar*,¶øÎÒÃǵÄÔ­ÔòÊÇÄܲ»Ê¹ÓÃC×Ö·û´®¾Í²»Ê¹Óá£ÄÇô£¬ÕâʱºòÎÒÃǵĴ¦Àí·½Ê½ÊÇ£ºÈç¹û´Ëº¯Êý¶Ô²ÎÊý(Ò²¾ÍÊÇchar*)µÄÄÚÈݲ»Ð޸ĵϰ£¬ÎÒÃÇ¿ÉÒÔÕâÑùConnect((char*)UserID.c_str(), (char*)PassWD.c_str()),µ«ÊÇÕâʱºòÊÇ´æÔÚΣÏյģ¬ÒòΪÕâÑùת»»ºóµÄ×Ö·û´®ÆäʵÊÇ¿ÉÒÔÐ޸ĵģ¨ÓÐÐËȤµØ¿ÉÒÔ×Ô¼ºÊÔÒ»ÊÔ£©£¬ËùÒÔÎÒÇ¿µ÷³ý·Çº¯Êýµ÷ÓõÄʱºò²»¶Ô²ÎÊý½øÐÐÐ޸쬷ñÔò±ØÐ뿽±´µ½Ò»¸öchar*ÉÏÈ¥¡£µ±È»£¬¸üÎÈÍ׵İ취ÊÇÎÞÂÛʲôÇé¿ö¶¼¿½±´µ½Ò»¸öchar*ÉÏÈ¥¡£Í¬Ê±ÎÒÃÇÒ²Æíµ»ÏÖÔÚÈÔȻʹÓÃC×Ö·û´®½øÐбà³ÌµÄ¸ßÊÖÃÇ£¨ËµËûÃÇÊǸßÊÖÒ»µã¶ùÒ²²»Îª¹ý£¬Ò²ÐíÔÚÎÒÃÇ»¹´©¿ªñÉ¿ãµÄʱºòËûÃǾͿªÊ¼±à³ÌÁË£¬¹þ¹þ¡­£©Ð´µÄº¯Êý¶¼±È½Ï¹æ·¶£¬ÄÇÑùÎÒÃǾͲ»±Ø½øÐÐÇ¿ÖÆ×ª»»ÁË¡£

2£®3ÔªËØ´æÈ¡
ÎÒÃÇ¿ÉÒÔʹÓÃϱê²Ù×÷·û[]ºÍº¯Êýat()¶ÔÔªËØ°üº¬µÄ×Ö·û½øÐзÃÎÊ¡£µ«ÊÇÓ¦¸Ã×¢ÒâµÄÊDzÙ×÷·û[]²¢²»¼ì²éË÷ÒýÊÇ·ñÓÐЧ£¨ÓÐЧË÷Òý 0~str.length()£©£¬Èç¹ûË÷ÒýʧЧ£¬»áÒýÆð䶨ÒåµÄÐÐΪ¡£¶øat()»á¼ì²é£¬Èç¹ûʹÓÃat()µÄʱºòË÷ÒýÎÞЧ£¬»áÅ׳ö out_of_rangeÒì³£¡£
ÓÐÒ»¸öÀýÍâ²»µÃ²»Ëµ£¬const string a;µÄ²Ù×÷·û[]¶ÔË÷ÒýÖµÊÇa.length()ÈÔÈ»ÓÐЧ£¬Æä·µ»ØÖµÊÇ¡¯\0¡¯¡£ÆäËûµÄ¸÷ÖÖÇé¿ö£¬a.length()Ë÷Òý¶¼ÊÇÎÞЧµÄ¡£¾ÙÀýÈçÏ£º
const string Cstr(¡°const string¡±);
string Str(¡°string¡±);

Str[3]; //ok
Str.at(3); //ok

Str[100]; //䶨ÒåµÄÐÐΪ
Str.at(100); //throw out_of_range

Str[Str.length()] //䶨ÒåÐÐΪ
Cstr[Cstr.length()] //·µ»Ø ¡®\0¡¯
Str.at(Str.length());//throw out_of_range
Cstr.at(Cstr.length()) ////throw out_of_range

ÎÒ²»ÔÞ³ÉÀàËÆÓÚÏÂÃæµÄÒýÓûòÖ¸Õ븳ֵ£º
char& r=s[2];
char* p= &s[3];
ÒòΪһµ©·¢ÉúÖØÐ·ÖÅ䣬r,pÁ¢¼´Ê§Ð§¡£±ÜÃâµÄ·½·¨¾ÍÊDz»Ê¹Óá£

2£®4±È½Ïº¯Êý
C++×Ö·û´®Ö§³Ö³£¼ûµÄ±È½Ï²Ù×÷·û£¨>,>=,<,<=,==,!=£©£¬ÉõÖÁÖ§³ÖstringÓëC-stringµÄ±È½Ï(Èç str<¡±hello¡±)¡£ÔÚʹÓÃ>,>=,<,<=ÕâЩ²Ù×÷·ûµÄʱºòÊǸù¾Ý¡°µ±Ç°×Ö·ûÌØÐÔ¡±½«×Ö·û°´×Öµä˳Ðò½øÐÐÖðÒ»µÃ±È½Ï¡£×ÖµäÅÅÐò¿¿Ç°µÄ×Ö·ûС£¬±È½ÏµÄ˳ÐòÊÇ´ÓǰÏòºó±È½Ï£¬Óöµ½²»ÏàµÈµÄ×Ö·û¾Í°´Õâ¸öλÖÃÉϵÄÁ½¸ö×Ö·ûµÄ±È½Ï½á¹ûÈ·¶¨Á½¸ö×Ö·û´®µÄ´óС¡£Í¬Ê±£¬string(¡°aaaa¡±) ÁíÒ»¸ö¹¦ÄÜÇ¿´óµÄ±È½Ïº¯ÊýÊdzÉÔ±º¯Êýcompare()¡£ËûÖ§³Ö¶à²ÎÊý´¦Àí£¬Ö§³ÖÓÃË÷ÒýÖµºÍ³¤¶È¶¨Î»×Ó´®À´½øÐбȽϡ£Ëû·µ»ØÒ»¸öÕûÊýÀ´±íʾ±È½Ï½á¹û£¬·µ»ØÖµÒâÒåÈçÏ£º0-ÏàµÈ ¡µ0-´óÓÚ <0-СÓÚ¡£¾ÙÀýÈçÏ£º
string s(¡°abcd¡±);

s.compare(¡°abcd¡±); //·µ»Ø0
s.compare(¡°dcba¡±); //·µ»ØÒ»¸öСÓÚ0µÄÖµ
s.compare(¡°ab¡±); //·µ»Ø´óÓÚ0µÄÖµ

s.compare(s); //ÏàµÈ
s.compare(0,2,s,2,2); //Óá±ab¡±ºÍ¡±cd¡±½øÐÐ±È½Ï Ð¡ÓÚÁã
s.compare(1,2,¡±bcx¡±,2); //Óá±bc¡±ºÍ¡±bc¡±±È½Ï¡£
ÔõôÑù£¿¹¦Äܹ»È«µÄ°É£¡Ê²Ã´£¿»¹²»ÄÜÂú×ãÄãµÄθ¿Ú£¿ºÃ°É£¬ÄǵÈ×Å£¬ºóÃæÓиü¸öÐÔ»¯µÄ±È½ÏËã·¨¡£Ïȸø¸öÌáʾ£¬Ê¹ÓõÄÊÇSTLµÄ±È½ÏËã·¨¡£Ê²Ã´£¿¶ÔSTLÒ»Çϲ»Í¨£¿¿¿£¬ÄãÖØÐÞ°É£¡

2£®5 ¸ü¸ÄÄÚÈÝ
ÕâÔÚ×Ö·û´®µÄ²Ù×÷ÖÐÕ¼Á˺ܴóÒ»²¿·Ö¡£
Ê×ÏȽ²¸³Öµ£¬µÚÒ»¸ö¸³Öµ·½·¨µ±È»ÊÇʹÓòÙ×÷·û=£¬ÐÂÖµ¿ÉÒÔÊÇstring(È磺s=ns) ¡¢c_string(È磺s=¡±gaint¡±)ÉõÖÁµ¥Ò»×Ö·û£¨È磺s=¡¯j¡¯£©¡£»¹¿ÉÒÔʹÓóÉÔ±º¯Êýassign()£¬Õâ¸ö³ÉÔ±º¯Êý¿ÉÒÔʹÄã¸üÁé»îµÄ¶Ô×Ö·û´®¸³Öµ¡£»¹ÊǾÙÀý˵Ã÷°É£º
s.assign(str); //²»Ëµ
s.assign(str,1,3);//Èç¹ûstrÊÇ¡±iamangel¡± ¾ÍÊǰѡ±ama¡±¸³¸ø×Ö·û´®
s.assign(str,2,string::npos);//°Ñ×Ö·û´®str´ÓË÷ÒýÖµ2¿ªÊ¼µ½½áβ¸³¸øs
s.assign(¡°gaint¡±); //²»Ëµ
s.assign(¡°nico¡±,5);//°Ñ¡¯n¡¯ ¡®I¡¯ ¡®c¡¯ ¡®o¡¯ ¡®\0¡¯¸³¸ø×Ö·û´®
s.assign(5,¡¯x¡¯);//°ÑÎå¸öx¸³¸ø×Ö·û´®
°Ñ×Ö·û´®Çå¿ÕµÄ·½·¨ÓÐÈý¸ö£ºs=¡±¡±;s.clear();s.erase();(ÎÒÔ½À´Ô½¾õµÃ¾ÙÀý±È˵»°ÈñðÈËÈÝÒ×¶®£¡)¡£
stringÌṩÁ˺ܶຯÊýÓÃÓÚ²åÈ루insert£©¡¢É¾³ý£¨erase£©¡¢Ìæ»»£¨replace£©¡¢Ôö¼Ó×Ö·û¡£
ÏÈ˵Ôö¼Ó×Ö·û£¨ÕâÀï˵µÄÔö¼ÓÊÇÔÚβ°ÍÉÏ£©£¬º¯ÊýÓÐ +=¡¢append()¡¢push_back()¡£¾ÙÀýÈçÏ£º
s+=str;//¼Ó¸ö×Ö·û´®
s+=¡±my name is jiayp¡±;//¼Ó¸öC×Ö·û´®
s+=¡¯a¡¯;//¼Ó¸ö×Ö·û

s.append(str);
s.append(str,1,3);//²»½âÊÍÁË Í¬Ç°ÃæµÄº¯Êý²ÎÊýassignµÄ½âÊÍ
s.append(str,2,string::npos)//²»½âÊÍÁË

s.append(¡°my name is jiayp¡±);
s.append(¡°nico¡±,5);
s.append(5,¡¯x¡¯);

    ×Ö·û´®²Ù×÷ÊÇÒ»¸ö²»Ð¡µÄÖ÷Ìâ,ÔÚ±ê×¼C++ÖÐ,string×Ö·û´®Àà³ÉΪһ¸ö±ê×¼,Ö®ËùÒÔÅׯúchar*µÄ×Ö·û´®¶øÑ¡ÓÃC++±ê×¼³ÌÐò¿âÖеÄstringÀ࣬ÊÇÒòΪËûºÍǰÕß±È½ÏÆðÀ´£¬²»±Øµ£ÐÄÄÚ´æÊÇ·ñ×ã¹»¡¢×Ö·û´®³¤¶ÈµÈµÈ£¬¶øÇÒ×÷Ϊһ¸öÀà³öÏÖ£¬Ëû¼¯³ÉµÄ²Ù×÷º¯Êý×ãÒÔÍê³ÉÎÒÃÇ´ó¶àÊýÇé¿öϵÄÐèÒª.
    ÏÂÃæÎÒÃÇÊ×ÏÈ´ÓһЩʾÀý¿ªÊ¼Ñ§Ï°ÏÂstringÀàµÄʹÓÃ.
1)
#include
#include
using namespace std;

void main()
{
    string s("hehe";
    cout<     cin.get();
}
2)
#include
#include
using namespace std;

void main()
{
    char chs[] = "hehe";
    string s(chs);
    cout<     cin.get();
}
3)
#include
#include
using namespace std;

void main()
{
    char chs[] = "hehe";
    string s(chs,1,3);    //Ö¸¶¨´ÓchsµÄË÷Òý1¿ªÊ¼,×îºó¸´ÖÆ3¸ö×Ö½Ú
    cout<     cin.get();
}
4)
#include
#include
using namespace std;

void main()
{
    string s1("hehe";
    string s2(s1);   
    cout<     cin.get();
}
5)
#include
#include
using namespace std;

void main()
{
    string s1("hehe",2,3);
    string s2(s1);   
    cout<     cin.get();
}
6)
#include
#include
using namespace std;

void main()
{
    char chs[] = "hehe";
    string s(chs,3);    //½«chsǰ3¸ö×Ö·û×÷Ϊ³õÖµ¹¹Ôì
    cout<     cin.get();
}
7)
#include
#include
using namespace std;

void main()
{
    string s(10,'k');    //·ÖÅä10¸ö×Ö·û,³õÖµ¶¼ÊÇ'k'
    cout<     cin.get();
}
//ÒÔÉÏÊÇstringÀàʵÀýµÄ¹¹ÔìÊÖ¶Î,¶¼ºÜ¼òµ¥.

9)
//¸³ÐÂÖµ
#include
#include
using namespace std;

void main()
{
    string s(10,'k');    //·ÖÅä10¸ö×Ö·û,³õÖµ¶¼ÊÇ'k'
    cout<     s = "hehehehe";
    cout<     s.assign("kdje";
    cout<     s.assign("fkdhfkdfd",5);    //ÖØÐ·ÖÅäÖ¸¶¨×Ö·û´®µÄǰ5µÄÔªËØÄÚÈÝ
    cout<     cin.get();
}
10)
//swap·½·¨½»»»
#include
#include
using namespace std;

void main()
{
    string s1 = "hehe";
    string s2 = "gagaga";
    cout<<"s1 : "<     cout<<"s2 : "<     s1.swap(s2);
    cout<<"s1 : "<     cout<<"s2 : "<     cin.get();
}
11)
//+=,append(),push_back()ÔÚβ²¿Ìí¼Ó×Ö·û
#include
#include
using namespace std;

void main()
{
    string s = "hehe";
    s += "gaga";
    cout<     s.append("ºÙºÙ";    //append()·½·¨¿ÉÒÔÌí¼Ó×Ö·û´®
    cout<     s.push_back('k');    //push_back()·½·¨Ö»ÄÜÌí¼ÓÒ»¸ö×Ö·û...
    cout<     cin.get();
}
12)
//insert() ²åÈë×Ö·û.Æäʵ,insertÔËÓúÃ,ÓëÆäËûµÄ²åÈë²Ù×÷ÊÇÒ»ÑùµÄ.
#include
#include
using namespace std;

void main()
{
    string s = "hehe";
    s.insert(0,"Í·²¿";            //ÔÚÍ·²¿²åÈë
    s.insert(s.size(),"β²¿";    //ÔÚβ²¿²åÈë
    s.insert(s.size()/2,"Öмä";//ÔÚÖмä²åÈë
    cout<     cin.get();
}
13)
#include
#include
using namespace std;

void main()
{
    string s = "abcdefg";
    s.erase(0,1);    //´ÓË÷Òý0µ½Ë÷Òý1,¼´É¾³ýµôÁË'a'
    cout<     //Æäʵ,»¹¿ÉÒÔʹÓÃreplace·½·¨À´Ö´ÐÐɾ³ý²Ù×÷
    s.replace(2,3,"";//¼´½«Ö¸¶¨·¶Î§ÄÚµÄ×Ö·ûÌæ»»³É"",¼´±äÏàɾ³ýÁË
    cout<     cin.get();
}

14)
//clear() ɾ³ýÈ«²¿×Ö·û
#include
#include
using namespace std;

void main()
{
    string s = "abcdefg";
    cout<     s.clear();
    cout<     //ʹÓÃearse·½·¨±äÏàȫɾ³ý
    s = "dkjfd";
    cout<     s.erase(0,s.length());
    cout<
    cin.get();
}
15)
//replace() Ìæ»»×Ö·û
#include
#include
using namespace std;

void main()
{
    string s = "abcdefg";
    s.replace(2,3,"!!!!!";//´ÓË÷Òý2¿ªÊ¼3¸ö×Ö½ÚµÄ×Ö·ûÈ«Ìæ»»³É"!!!!!"
    cout<     cin.get();
}
16)
//==,!=,<,<=,>,>=,compare() ±È½Ï×Ö·û´®
#include
#include
using namespace std;

void main()
{
    string s1 = "abcdefg";
    string s2 = "abcdefg";   
    if (s1==s2)cout<<"s1 == s2"<     else cout<<"s1 != s2"<    
    if (s1!=s2)cout<<"s1 != s2"<     else cout<<"s1 == s2"<    
    if (s1>s2)cout<<"s1 > s2"<     else cout<<"s1 <= s2"<    
    if (s1<=s2)cout<<"s1 <= s2"<     else cout<<"s1 > s2"<
    cin.get();
}
17)
//size(),length() ·µ»Ø×Ö·ûÊýÁ¿
#include
#include
using namespace std;

void main()
{
    string s = "abcdefg";
    cout<     cout<
    cin.get();
}
18)
//max_size() ·µ»Ø×Ö·ûµÄ¿ÉÄÜ×î´ó¸öÊý
#include
#include
using namespace std;

void main()
{
    string s = "abcdefg";
    cout<
    cin.get();
}
19)
//empty() ÅжÏ×Ö·û´®ÊÇ·ñΪ¿Õ
#include
#include
using namespace std;

void main()
{
    string s ;
    if (s.empty())
        cout<<"s Ϊ¿Õ."<     else
        cout<<"s ²»Îª¿Õ."<
    s = s + "abcdefg";
    if (s.empty())
        cout<<"s Ϊ¿Õ."<     else
        cout<<"s ²»Îª¿Õ."<
    cin.get();
}
20)
// [ ], at() ´æÈ¡µ¥Ò»×Ö·û
#include
#include
using namespace std;

void main()
{
    string s = "abcdefg1111";
   
    cout<<"use []:"<     for(int i=0; i     {
        cout<<     }
    cout<
    cout<<"use at():"<     for(int i=0; i     {
        cout<     }
    cout<    
    cin.get();
}
21)
#include
#include
using namespace std;

void main()
{
    string s = "abcdefg1111";
   
    const char * chs1 = s.c_str();
    const char * chs2 = s.data();

    cout<<"use at():"<     int i;
    for(i=0; i     {
        cout<<"c_str() : "<<         cout<<"data() : "<<     }
    cout<<"c_str() : "<     cout<<"data() : "<     cout<    
    cin.get();
}
22)
// substr() ·µ»ØÄ³¸ö×Ó×Ö·û´®
#include
#include
using namespace std;

void main()
{
    string s = "abcdefg1111";
   
    string str = s.substr(5,3);//´ÓË÷Òý5¿ªÊ¼3¸ö×Ö½Ú
    cout<    
    cin.get();
}
23)
// find ²éÕÒº¯Êý
#include
#include
using namespace std;

void main()
{
    string s = "abcdefg1111";
    string pattern = "fg";
    string::size_type pos;
    pos = s.find(pattern,0);        //´ÓË÷Òý0¿ªÊ¼,²éÕÒ·ûºÏ×Ö·û´®"f"µÄÍ·Ë÷Òý
    cout<     string str = s.substr(pos,pattern.size());
    cout<     cin.get();
}
24)
// begin() end() ÌṩÀàËÆSTLµÄµü´úÆ÷Ö§³Ö
#include
#include
using namespace std;

void main()
{
    string s = "abcdefg1111";
    for(string::iterator iter = s.begin(); iter!=s.end(); iter++)
    {
        cout<<*iter<     }
    cout<
    cin.get();
}
        Ò»¸öC++×Ö·û´®´æÔÚÈýÖÖ´óС£ºa)ÏÖÓеÄ×Ö·ûÊý£¬º¯ÊýÊÇsize()ºÍlength()£¬ËûÃǵÈЧ¡£ Empty()ÓÃÀ´¼ì²é×Ö·û´®ÊÇ·ñΪ¿Õ¡£b)max_size() Õâ¸ö´óСÊÇÖ¸µ±Ç°C++×Ö·û´®×î¶àÄܰüº¬µÄ×Ö·ûÊý£¬ºÜ¿ÉÄܺͻúÆ÷±¾ÉíµÄÏÞÖÆ»òÕß×Ö·û´®ËùÔÚλÖÃÁ¬ÐøÄÚ´æµÄ´óСÓйØÏµ¡£ÎÒÃÇÒ»°ãÇé¿öϲ»ÓùØÐÄËû£¬Ó¦¸Ã´óС×ã¹»ÎÒÃÇÓõġ£µ«ÊDz»¹»Óõϰ£¬»áÅ׳ölength_errorÒì³£c)capacity()ÖØÐ·ÖÅäÄÚ´æÖ®Ç° stringËùÄܰüº¬µÄ×î´ó×Ö·ûÊý¡£ÕâÀïÁíÒ»¸öÐèÒªÖ¸³öµÄÊÇreserve()º¯Êý£¬Õâ¸öº¯ÊýΪstringÖØÐ·ÖÅäÄÚ´æ¡£ÖØÐ·ÖÅäµÄ´óСÓÉÆä²ÎÊý¾ö¶¨£¬Ä¬ÈϲÎÊýΪ0£¬Õâʱºò»á¶Ôstring½øÐзÇÇ¿ÖÆÐÔËõ¼õ
»Ø¸´´ËÂ¥
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

lcasperr

½ð³æ (³õÈëÎÄ̳)


¡ï Ò»ÐǼ¶,Ò»°ã

Ó¦¸Ã˵ÊÇSTLµÄstringÀà
2Â¥2010-09-04 11:54:40
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

¡ï¡ï¡ï ÈýÐǼ¶,Ö§³Ö¹ÄÀø

Ö§³Ö·ÖÏí
3Â¥2010-10-29 17:44:51
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

zyj8119

ľ³æ (ÖøÃûдÊÖ)


ÒýÓûØÌû:
Originally posted by stephenliu89 at 2010-08-29 16:21:35:
C++ stringÀà

Ö®ËùÒÔÅׯúchar*µÄ×Ö·û´®¶øÑ¡ÓÃC++±ê×¼³ÌÐò¿âÖеÄstringÀ࣬ÊÇÒòΪËûºÍǰÕß±È½ÏÆðÀ´£¬²»±Øµ£ÐÄÄÚ´æÊÇ·ñ×ã¹»¡¢×Ö·û´®³¤¶ÈµÈµÈ£¬¶øÇÒ×÷Ϊһ¸öÀà³öÏÖ£¬Ëû¼¯³ÉµÄ²Ù×÷º¯Êý×ãÒÔÍê³ÉÎÒÃÇ´ó¶àÊýÇé¿öÏÂ(Éõ ...

ºÃÌù£¡£¡£¡
4Â¥2010-11-14 03:40:47
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

wk_hanging

Í­³æ (³õÈëÎÄ̳)


¡ï¡ï¡ï¡ï¡ï ÎåÐǼ¶,ÓÅÐãÍÆ¼ö

ÐÁ¿àÁË
5Â¥2012-04-12 01:09:40
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

´ºÅ¯»¨¿ª27

Òø³æ (ÕýʽдÊÖ)


¡ï¡ï¡ï¡ï¡ï ÎåÐǼ¶,ÓÅÐãÍÆ¼ö

§ÔÚ×ܽáµÄºÜºÃ£¬¶àлÁË
6Â¥2012-10-10 10:39:37
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ stephenliu89 µÄÖ÷Ìâ¸üÐÂ
¡î ÎÞÐǼ¶ ¡ï Ò»ÐǼ¶ ¡ï¡ï¡ï ÈýÐǼ¶ ¡ï¡ï¡ï¡ï¡ï ÎåÐǼ¶
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 286·ÖÈ˹¤ÖÇÄÜרҵÇëÇóµ÷¼ÁÔ¸Òâ¿ç¿¼£¡ +3 lemonzzn 2026-03-17 3/150 2026-03-19 23:58 by 23Postgrad
[¿¼ÑÐ] 329Çóµ÷¼Á +5 ÏëÉÏѧ߹߹ 2026-03-19 5/250 2026-03-19 23:56 by 23Postgrad
[¿¼ÑÐ] 320Çóµ÷¼Á0856 +3 ²»ÏëÆðÃû×Ö112 2026-03-19 3/150 2026-03-19 22:53 by ѧԱ8dgXkO
[¿¼ÑÐ] 0703»¯Ñ§µ÷¼Á £¬Áù¼¶Òѹý£¬ÓпÆÑо­Àú +12 êØÎõÙâ 2026-03-15 12/600 2026-03-19 19:42 by maocaozhuxi
[¿¼ÑÐ] 288Çóµ÷¼Á£¬Ò»Ö¾Ô¸»ªÄÏÀí¹¤´óѧ071005 +5 ioodiiij 2026-03-17 5/250 2026-03-19 18:22 by zcl123
[¿¼ÑÐ] 266Çóµ÷¼Á +5 ÑôÑôÍÛÈû 2026-03-14 10/500 2026-03-19 15:08 by ÑôÑôÍÛÈû
[¿¼ÑÐ] 324·Ö 085600²ÄÁÏ»¯¹¤Çóµ÷¼Á +3 llllkkkhh 2026-03-18 3/150 2026-03-19 14:22 by houyaoxu
[¿¼ÑÐ] 0703»¯Ñ§ 305Çóµ÷¼Á +4 FY_yy 2026-03-14 4/200 2026-03-19 05:54 by anny19840123
[¿¼ÑÐ] 08¹¤¿Æ 320×Ü·Ö Çóµ÷¼Á +5 À滨çóÍí·ç 2026-03-17 5/250 2026-03-18 14:49 by haxia
[¿¼ÑÐ] 0854£¬¼ÆËã»úÀàÕÐÊÕµ÷¼Á +3 ºúÀ±ÌÀ·ÅÌÇ 2026-03-15 6/300 2026-03-18 12:09 by Éϰ¶Éϰ¶¡­¡­..
[¿¼²©] »·¾³ÁìÓòÈ«¹úÖØµãʵÑéÊÒÕÐÊÕ²©Ê¿1-2Ãû +3 QGZDSYS 2026-03-13 5/250 2026-03-18 11:13 by QGZDSYS
[¿¼ÑÐ] 268Çóµ÷¼Á +8 Ò»¶¨ÓÐѧÉÏ- 2026-03-14 9/450 2026-03-17 17:47 by laoshidan
[ÂÛÎÄͶ¸å] ÓÐûÓдóÀз¢Ð¡ÂÛÎÄÄÜ´øÎÒ¸ö¶þ×÷ +3 ÔöÈñ©ÈË 2026-03-17 4/200 2026-03-17 09:26 by xs74101122
[¿¼ÑÐ] »úеר˶325£¬Ñ°ÕÒµ÷¼ÁԺУ +3 y9999 2026-03-15 5/250 2026-03-16 19:58 by y9999
[¿¼ÑÐ] 326Çóµ÷¼Á +4 ŵ±´¶û»¯Ñ§½±êéê 2026-03-15 7/350 2026-03-16 17:11 by ŵ±´¶û»¯Ñ§½±êéê
[»ù½ðÉêÇë] ½ñÄêµÄ¹ú»ù½ðÊÇ´ò·ÖÖÆÂ𣿠50+3 zhanghaozhu 2026-03-14 3/150 2026-03-16 17:07 by ±±¾©À³ÒðÈóÉ«
[¿¼ÑÐ] 327Çóµ÷¼Á +6 ʰ¹âÈÎȾ 2026-03-15 11/550 2026-03-15 22:47 by ʰ¹âÈÎȾ
[¿¼ÑÐ] ²ÄÁÏÓ뻯¹¤ 323 Ó¢Ò»+Êý¶þ+Îﻯ£¬Ò»Ö¾Ô¸£º¹þ¹¤´ó ±¾È˱¾¿ÆË«Ò»Á÷ +4 ×ÔÓɵÄ_·ÉÏè 2026-03-13 5/250 2026-03-14 19:39 by hmn_wj
[¿¼ÑÐ] Öпƴó²ÄÁÏר˶319Çóµ÷¼Á +3 ÃÏöβÄÁÏ 2026-03-13 3/150 2026-03-14 18:10 by houyaoxu
[¿¼ÑÐ] Ò»Ö¾Ô¸¹þ¹¤´ó²ÄÁÏ324·ÖÇóµ÷¼Á +5 ãÆÐñ¶« 2026-03-14 5/250 2026-03-14 14:53 by ľ¹Ï¸à
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û