C string 類操作(不全)

2021-09-25 13:27:11 字數 1503 閱讀 3684

string 類是 stl 中 basic_string 模板例項化得到的模板類。其定義如下:

typedef basic_string string;
string 類有多個建構函式,用法示例如下:

string s1();  // si = ""

string s2("hello"); // s2 = "hello"

string s3(4, 'k'); // s3 = "kkkk"

string s4("12345", 1, 3); //s4 = "234",即 "12345" 的從下標 1 開始,長度為 3 的子串

字串下標 n 開始、長度為 m 的字串稱為「子串(n, m)」

string 類沒有接收乙個整型引數或乙個字元型引數的建構函式。下面的兩種寫法是錯誤的:

string s1('k');

string s2(123);

可以用 char* 型別的變數、常量,以及 char 型別的變數、常量對 string 物件進行賦值。例如:

string s1;

s1 = "hello"; // s1 = "hello"

s2 = 'k'; // s2 = "k」

string 類還有 assign 成員函式,可以用來對 string 物件賦值。assign 成員函式返回物件自身的引用。例如: 

string s1("12345"), s2("abc");

s3.assign(s1); // s3 = s1

s2.assign(s1, 1, 2); // s2 = "23",即 s1 的子串(1, 2)

s2.assign(4, 'k'); // s2 = "kkkk"

s2.assign("abcde", 2, 3); // s2 = "cde",即 "abcde" 的子串(2, 3)

length 成員函式返回字串的長度。size 成員函式可以實現同樣的功能。

string s1("123"), s2("abc");
除了可以用 <、<=、==、!=、>=、> 運算子比較 string 物件外,string 類還有 compare 成員函式,可用於比較字串。compare 成員函式有以下返回值:

string s1 = "this is ok";

string s2 = s1.substr(2, 4); // s2 = "is i"

s2 = s1.substr(2); // s2 = "is is ok"

swap 成員函式可以交換兩個 string 物件的內容。例如:

string 類有一些查詢子串和字元的成員函式,它們的返回值都是子串或字元在 string 物件字串中的位置(即下標)。如果查不到,則返回 string::npos。string: :npos 是在 string 類中定義的乙個靜態常量。這些函式如下:

C String類常用操作

1.string.compare s1,s2 比較 按字母順序後邊的大於前邊的 s1s2 return1.console.writeline string.compare aa aa tostring 1console.writeline string.compare aa aa true tost...

CString類常用操作

1.簡介 乙個cstring物件由可變長度的字元陣列構造,由pxstr m pszdata成員變數維護物件的位址資訊。cstring物件可以任意替換const char 和lpctstr型別的函式引數,而不需要強制轉換。2.建構函式 cstring建構函式有多種形式,常見的宣告如下 cstring ...

c string類的操作符過載

首先 先了解 class 類裡面給我們 預設過載了6個函式 分別是 預設構造 預設析夠 預設賦值 拷貝構造 過載 過載 然而我們需要關注的是 拷貝構造 因為如果你不重寫 拷貝構造的話 裡面的 資料全部都是淺拷貝 當 自己的倆個string 相等的時候 就會出問題 它裡面的char只想同乙個空間 所以...