關於C string類的下標操作問題

2021-09-29 12:48:46 字數 374 閱讀 1161

今天在做一道題的時候,涉及到乙個string下標操作的問題,比如需要將string a中的乙個子串裡每乙個字元單獨賦值給string b的相應位置,然後輸出b。我下意識使用了c風格的方法:b[i++] = a[j++];

這當然是不行的,怎麼都輸出不了結果之後,百思不得其解。查閱了資料,發現c++的string類的內容字串並不適用c風格的以』\0』結尾的字串。對於string類也不能這樣賦值。沒錯,string類確實是過載了=符號,但是這只適用於一整個string賦值給一整個賦值,用到了類的複製建構函式。

在這裡我們想要進行上述的操作,應該使用這樣的語法:b += a[i];或者是b.push_back(a[i]);

C string 類操作(不全)

string 類是 stl 中 basic string 模板例項化得到的模板類。其定義如下 typedef basic string string string 類有多個建構函式,用法示例如下 string s1 si string s2 hello s2 hello string s3 4,k ...

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 ...