1、定義:
string:string是c++標準庫(stl)中的型別,它是定義的乙個類,定義在 < string > 標頭檔案中。裡面包含了對字串的各種常用操作,它較 char* 的優勢是內容可以動態拓展,以及對字串操作的方便快捷,用+號進行字串的連線是最常用的操作。
char*:char* 是乙個指向字元的指標,是乙個內建型別。可以指向乙個字元,也可以表示字元陣列的首位址(首字元的位址)。我們更多的時候是用的它的第二的功能,來表示乙個字串,功能與字串陣列char ch[n]一樣,表示字串時,最後有乙個 '\0』結束符作為字串的結束標誌。
2、區別:
string的記憶體管理是由系統處理,除非系統記憶體池用完,不然不會出現這種記憶體問題。
char *的記憶體管理由使用者自己處理,很容易出現記憶體不足的問題。
當我們要存乙個串,但是不知道其他需要多少記憶體時, 用string來處理就最好不過了。
當你知道了儲存的記憶體的時候,可以用char *,但是不如用string的好,用指標總會有
隱患。用string還可以使用各種成員函式來處理串的每乙個字元,方便處理。
用char *處理串,就不如string的方便了,沒有相應的函式來直接呼叫,而是要自己編
寫函式來完成串的處理,而且處理過程中用指標還很容易出現記憶體問題。
char *s="string"的內容是不可以改的;char s[10]="string"的內容是可以改的。
CString 和 char 的轉換
cstring 是一種很特殊的 c 物件,它裡面包含了三個值 乙個指向某個資料緩衝區的指標 乙個是該緩衝中有效的字元記數 它是不可訪問的,是位於 cstring 位址之下的乙個隱藏區域 以及乙個緩衝區長度。有效字元數的大小可以是從0到該緩衝最大長度值減1之間的任何數 因為字串結尾有乙個null字元 ...
char 和CString之間的轉換
cstring 是一種很特殊的 c 物件,它裡面包含了三個值 乙個指向某個資料緩衝區的指標 乙個是該緩衝中有效的字元記數 它是不可訪問的,是位於 cstring 位址之下的乙個隱藏區域 以及乙個緩衝區長度。有效字元數的大小可以是從0到該緩衝最大長度值減1之間的任何數 因為字串結尾有乙個null字元 ...
C string 和char 之間的轉換
c 將string加入了c 庫,我們可以用string型別的變數儲存字串,而不用字元型陣列。要使用string類,必須在標頭檔案中包含string標頭檔案 include,並且新增std命名空間。1 string轉換為char 的方法有 1.data string str good boy cons...