/*c++常用字串操作匯集*/
string str1("ttt"); //建立並初始化
string str2 = "txhe"; //另一種方式
char str3 = "abcdefg"; //以定義字元陣列的方式建立
cout
<"----"
<"----"
string str4(str3);
cout
string str5(str3,3,4);
cout
/*將前三個字元作為初值構造*/
string str6(str3,3);
cout
/*分配10個字元,初值都是'k'*/
string str7(10,'k');
cout
<"abc");
cout
str7.assign("aabbcc",3);
cout
string str8 = "aaa";
string str9 = "bbb";
cout
<"is str8"
<"is str9"
<"is str8"
<"is str9"
str10 += "bbbb";
cout
cout
str10.push_back('d');
cout
str10.insert(0,"zzz");
cout
str10.insert(str10.size(),"ffff");
cout
str10.insert(str10.size()/2,"ppp");
cout
/*從索引1到索引3 即刪掉bcd*/
str11.erase(1,3);
cout
str11.replace(2,2,"");
cout
cout
/*從索引2開始3個位元組的字元全替換成"!!!!!"*/
str13.replace(2,3,"!!!!!");
cout
/*返回字元的可能最大個數,即當前c++字元最多能包含的字元數*/
cout
/*判斷字串是否為空*/
if(str15.empty())
{cout
<<"str15為空"
{cout
<<"str15不為空"
<"aaa";
if(str15.empty())
{cout
<<"str15為空"
{cout
<<"str15不為空"
for(int i=0;icout
const
char* str17 = str16.c_str();//轉化為c串,字元指標
const
char* str18 = str16.data();
for(int i=0;icout
<<"c_str():"
<<"data():"
/*返回某個子字串*/
/*從索引5開始2個位元組*/
string str20 = str19.substr(5,2);
cout
char args = 'c';
int index = str19.find(args,1); //找到則返回當前索引(不管從什麼位置開始查),找不到則返回-1
cout
cout
cout
cout
string pattern = "gh";
string::size_type pos;
/*從索引0開始,查詢符合字串"gh"的頭索引*/
pos = str21.find(pattern,0);
cout
cout
string str23 = "abcdefgh123";
for(string::iterator iter = str23.begin();iter!=str23.end();iter++)
{cout
<<*iter/重新分配記憶體之前,str23所能包含的最大字元數,因為有的時候記憶體並不是連續的,數量增長後需重新分配。
C 常用字串操作
獲得漢字的區位碼 byte array new byte 2 array system.text.encoding.default.getbytes 啊 int i1 short array 0 0 int i2 short array 1 0 unicode解碼方式下的漢字碼 array syst...
c 常用字串操作
摘自 獲得漢字的區位碼 byte array new byte 2 array system.text.encoding.default.getbytes 啊 int i1 short array 0 0 int i2 short array 1 0 unicode解碼方式下的漢字碼 array s...
常用字串處理整理
今天遇到這樣乙個問題,統計字串中字元的個數。寫了乙個演算法基本實現了這個功能,只是不知是否有效能更高的演算法。感興趣的一起試試。方法比較簡單,就不寫注釋了,相信大家能夠看懂。code splitstr 1.aa 2.bb 3.cc 4.dd 5.ee 6.ff 7.dd 8.ee 9.ff priv...