1 char[]字符串數(shù)組賦值string字符串
char szBuffer[1024] = {"fengyuzaitu00051cto"};
std::string strBuffer(szBuffer);
注意:strBuffer只是獲取到fengyuzaitu這一段,產(chǎn)生了截斷
正確:
char szBuffer[1024] = {"fengyuzaitu00051cto"};
std::string strBuffer(szBuffer,? 1024);
注意:完整的獲取到整一個字符串fengyuzaitu00051cto
情景:在RabbitMQ接收數(shù)據(jù)的時候,返回字符串數(shù)組,賦值給
string字符串類型,就需要指定字符串數(shù)組長度,否則可能會讀取多余的帶外數(shù)據(jù),
多余的帶外數(shù)據(jù)是亂碼
2 char[]字符串數(shù)組追加到string字符串
char szBuffer[1024] = {"fengyuzaitu00051cto"};
std::string strBuffer = "Welcome";
strBuffer += szBuffer;
注意:strBuffer只是獲取到fengyuzaitu這一段,產(chǎn)生了截斷
正確:
char szBuffer[1024] = {"fengyuzaitu00051cto"};
std::string strBuffer = "Welcome";
strBuffer.append(szBuffer, 1024);
assgin函數(shù)跟append函數(shù)的使用方法一樣
3
反向查詢字符串,返回第一次遇到的字符串所在的位置? rfind
取子字符串 substr
4 append函數(shù)使用說明
常用的函數(shù)原型:
? basic_string &append( const basic_string &str );
? basic_string &append( const char *str );
? basic_string &append( const basic_string &str, size_type index, size_type len );
? basic_string &append( const char *str, size_type num );
? basic_string &append( size_type num, char ch );
? basic_string &append( input_iterator start, input_iterator end );
append() 函數(shù)可以完成以下工作:
在字符串的末尾添加str,
在字符串的末尾添加str的子串,子串以index索引開始,長度為len
在字符串的末尾添加str中的num個字符,
在字符串的末尾添加num個字符ch,
在字符串的末尾添加以迭代器start和end表示的字符序列.
append函數(shù)常用的三個功能:
直接添加另一個完整的字符串:如str1.append(str2);
添加另一個字符串的某一段子串:如str1.append(str2, 11, 7);
添加幾個相同的字符:如str1.append(5, ‘.’);注意,個數(shù)在前字符在后.上面的代碼意思為在str1后面添加5個"."
注意:
?append函數(shù)沒有提供一個basic_string &append( const basic_string &str, size_type num )的函數(shù),切記!
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。