// txj.cpp : 此檔案包含 "main" 函式。程式執行將在此處開始並結束。
//#include
"pch.h"
#include
#include
using namespace std;
intmain()
string s2 =
"i love china"
;//(2)size() length()
if(s2.
size()
>4)
string s3 =
"我愛中國"
;//乙個漢字兩個位元組
cout << s3.
size()
<< endl;
cout << s3.
length()
<< endl;
//(3) s[n]
//s[n] 返回字串的n個位置的下標,從0到n減一
cout << s2[4]
<< endl;
s2[4]
='k'
;//更改下標的值
cout << s2 << endl;
string s4 = s3;
//字串賦值
string s5;
//(4)相等與不相等
if(s5 == s4)
//判斷兩個字串是否相等,大小寫敏感
if(s5 != s4)
//判斷兩個字串不相等
//(6).c_str()
string s6 =
"abcd"
;const
char
* p = s6.
c_str()
;//返回乙個常量指標.c_str()由於c沒有string型別,目的是為了與c中的字串相容
char str[10]
;strcpy_s
(str,
sizeof
(str)
, p)
; cout << str << endl;
//(7)讀寫string物件
//string s7;
//cin >> s7; //輸入 abc lkl 輸出abc,截掉前面的空格
//(8)string類物件相加
string s7=
"asfas"
; string s8=
"fsdf"
; string s9=s8+s7;
cout << s9 << endl;
s9 = s7 +
"fas"
+ s8;
cout << s9 << endl;
//s9 = "asklfjkl" + "asdn"; 不可以,系統為再左結合性,一開始就相加兩個字串,系統是不知道他們的型別的
s9 =
"asklfjkl"
+ s7 +
"asdn"
;//可以
//(9)範圍for語句在string中的使用,c++11(範圍for語句)
for(
auto c : s7)
//auto自動推動c的型別
for(
auto
&c : s7)
//auto自動推動c的型別 加引用可以修改s7裡面的內容
cout << s7 << endl;
return0;
}
C string類的使用
1.為什麼要選擇string類 記憶體不受限,有沒有在oj為了輸入資料的字串的長度不可知而痛苦萬分,有了string類,所有都交給他來幫你完成吧,暫時也就可以忽略記憶體管理這件 的事情了。豐富的操作符,這一點有點類似與python這樣的指令碼語言的中的str,用起來比較的得心應手,要是再有個分割sp...
C string 類和物件 資料的封裝
因為char型別的麻煩,我們可以使用string型別來實現一些功能 include include using namespace std int main string s1 s1為空串 string s2 abc 用字串字面值初始化s2 string s3 s2 將s3初始化為s2的乙個副本 s...
C String類的實現
參考c primer.string類的實現,清翔兔 06,jan.include using namespace std class string string void private char m data inline string string const char str if str m...