string定義在命名空間std中
using std::string
初始化
string有直接初始化和拷貝初始化
直接初始化:string s3(「value」)
拷貝初始化:string s3 = 「value」
區別在於:當初始值只有乙個時,使用直接初始化或者拷貝初始化都行,但當初始值有多個時,一般來世只能用到直接初始化的方式
如:string s7(10, 『c』) //直接初始化,s7的內容是cccccccccc
讀寫
可以直接使用cin, cout
cin在讀入時,string物件會直接忽略開頭的空白(即空格符,換行符,製表符等)並從第乙個真正的字元開始讀起,直到遇見下一處空白為止
如:
int main()
如果程式輸入」hello world!「,那麼將會輸出hello,輸出結果中無空格
或者使用getline讀取一整行,
int main()
如果程式輸入」hello world!「,那麼將會輸出hello world!,getline遇到換行符就會退出,當然換行符從緩衝區被讀入,但是不儲存到字串中,如果第乙個字元就是換行符,那麼將讀入乙個空串
處理每個字元,使用基於範圍的for語句
for(declaration: expression)
statement
//統計string物件中標點符號的個數
string s("hello world!!!");
decltype(s.size()) punct_cnt = 0;
for(auto c:s)
if(ispunct(c))
++punct_cnt;
cout
<< punct_cnt <<" punctuation characters in "
<< s << endl;
程式的輸出結果將是:
3 punctuation characters in hello world!!!
使用for語句改變字串中的字元,那麼要使用引用,for(auto &c : s)
那麼c就是s中乙個字元的別名,指向同乙個位址,所以改變c也就是改變對應的字元
兩種方法將0到15之間的十進位制數轉換成對應的十六進製制數的形式,並以字串的形式輸出:
#include
using
namespace
std;
/*//方法1:設定乙個常字串,進行訪問
int main()
這就是c++中string型別的呼叫了,希望對大家有所幫助 string標準庫型別 C
c 中string的學習體會 string 1 不允許把兩個字串字面值連線起來,乙個string物件 字串字面值返回的是string物件.string size type只是string裡方便移植性的定義的一種型別 2 cout include using namespace std int mai...
C 標準庫string型別
c 組成 基本資料型別和抽象資料型別標準庫 只需知道抽象資料型別支援的操作而不需關心內部表示 命名空間兩種使用方法 using std name 和 using namespace std 標準庫string型別和字串字面值不是同一型別 具體區別?getline 函式 string line get...
C 標準庫string型別
標準庫的string型別 include include using namespace std 或者可以這樣 using std string using std cin using std cout int main 12.下標操作可用作左值 string str some string for...