溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

std::string 使用

發(fā)布時(shí)間:2020-07-13 06:20:19 來(lái)源:網(wǎng)絡(luò) 閱讀:1430 作者:fengyuzaitu 欄目:編程語(yǔ)言

1 char[]字符串?dāng)?shù)組賦值string字符串
char szBuffer[1024] = {"fengyuzaitu00051cto"};
std::string strBuffer(szBuffer);
注意:strBuffer只是獲取到fengyuzaitu這一段,產(chǎn)生了截?cái)?/p>


正確:
char szBuffer[1024] = {"fengyuzaitu00051cto"};
std::string strBuffer(szBuffer,? 1024);
注意:完整的獲取到整一個(gè)字符串fengyuzaitu00051cto
情景:在RabbitMQ接收數(shù)據(jù)的時(shí)候,返回字符串?dāng)?shù)組,賦值給
string字符串類(lèi)型,就需要指定字符串?dāng)?shù)組長(zhǎng)度,否則可能會(huì)讀取多余的帶外數(shù)據(jù),
多余的帶外數(shù)據(jù)是亂碼

2 char[]字符串?dāng)?shù)組追加到string字符串
char szBuffer[1024] = {"fengyuzaitu00051cto"};
std::string strBuffer = "Welcome";
strBuffer += szBuffer;
注意:strBuffer只是獲取到fengyuzaitu這一段,產(chǎn)生了截?cái)?/p>

正確:
char szBuffer[1024] = {"fengyuzaitu00051cto"};
std::string strBuffer = "Welcome";
strBuffer.append(szBuffer, 1024);

assgin函數(shù)跟append函數(shù)的使用方法一樣

3
反向查詢(xún)字符串,返回第一次遇到的字符串所在的位置? rfind
取子字符串 substr


4 append函數(shù)使用說(shuō)明

常用的函數(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索引開(kāi)始,長(zhǎng)度為len
在字符串的末尾添加str中的num個(gè)字符,
在字符串的末尾添加num個(gè)字符ch,
在字符串的末尾添加以迭代器start和end表示的字符序列.

append函數(shù)常用的三個(gè)功能:
直接添加另一個(gè)完整的字符串:如str1.append(str2);
添加另一個(gè)字符串的某一段子串:如str1.append(str2, 11, 7);
添加幾個(gè)相同的字符:如str1.append(5, ‘.’);注意,個(gè)數(shù)在前字符在后.上面的代碼意思為在str1后面添加5個(gè)"."

注意:
?append函數(shù)沒(méi)有提供一個(gè)basic_string &append( const basic_string &str, size_type num )的函數(shù),切記!


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI