字符串

using 關(guān)鍵字

類(lèi)似 python里的import,是個(gè)導(dǎo)入命名空間的關(guān)鍵字,用法

using namespace::name
  • 頭文件中不要使用using關(guān)鍵字,會(huì)導(dǎo)致其他使用了頭文件的地方產(chǎn)生未知的行為。

string

初始化

string s1;
string s2(s1);
string s2=s1;
string s3("value");
string s4 = "value";
string s5(2,'c');

s4,s2=s1 這兩種初始化的方式叫做拷貝初始化,編譯器把等號(hào)右側(cè)的值拷貝到新創(chuàng)建的對(duì)象中去。不用等號(hào)叫做直接初始化。

string的操作

os<<s;
is>>s;
getline(is,s);
s.empty();
s.size();
s[n];
s1+s2
s1=s2 
s1==s2 比較字符內(nèi)容是否完全一樣
s1!=s2
<,<=,>,>= 利用字符在字典中的順序進(jìn)行比較,且對(duì)字母的大小寫(xiě)敏感
  • s.size() 返回的不是無(wú)符號(hào)數(shù),而是string::size_type類(lèi)型

string字符串比較的規(guī)則

  • "=="和"!="對(duì)兩個(gè)string所包含的字符進(jìn)行比較,大小寫(xiě)全部相同,則相對(duì),否則不相等
  • ">","<",">=","<=" 如果s1是s2的從第一個(gè)字母開(kāi)始的子串,則s1小于s2
  • 如果兩個(gè)string對(duì)象某些位置上字母不一致,則從第一個(gè)相異字母開(kāi)始用字典序進(jìn)行比較

字符相加的規(guī)則:

  • 允許將字符和字符串相加,但 + 號(hào)兩側(cè),必須有其中一個(gè)是string對(duì)象,若兩個(gè)都是字面值,則非法
string s1 = "world" ;
string s2 = "hello" + s1;

合法,但

string s1 = "hello"+ "world";

非法。

  • 字符串字面值和string不是同一種類(lèi)型

如何遍歷string

string str1("some string");
for(auto c : str)
    cout<<c<<endl;

如何使用for改變字符串中的字符

string s("hello world");
for (auto &c:s)
    c = toupper(c);
cout<<s<<endl;

只修改其中一個(gè)字符

使用下標(biāo)

string s("hello");
s[0] = 'a';
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容