C 中的c str 函式用法

2022-02-06 02:38:28 字數 819 閱讀 4697

語法:

1

const

char *c_str();

c_str()函式返回乙個指向正規c字串的指標常量, 內容與本string串相同。

這是為了與c語言相容,在c語言中沒有string型別,故必須通過string類物件的成員函式c_str()把string 物件轉換成c中的字串樣式。

注意:一定要使用strcpy()函式 等來操作方法c_str()返回的指標。

比如:最好不要這樣:

1

char*c;

2string s="

1234";

3 c = s.c_str();

c最後指向的內容是垃圾,因為s物件被析構,其內容被處理,同時,編譯器也將報錯——將乙個const char *賦與乙個char *。

應該這樣用:

1

char c[20];2

string s="

1234";

3 strcpy(c,s.c_str());

這樣才不會出錯,c_str()返回的是乙個臨時指標,不能對其進行操作。

再舉個例子:

c_str() 以 char* 形式傳回 string 內含字串,如果乙個函式要求char*引數,可以使用c_str()方法:

1

string s = "

hello world!";

2 printf("

%s", s.c_str()); //

輸出 "hello world!"

**:

C 中的c str 函式用法

1.c str 函式是string類中的乙個函式,它返回當前字串的首字元位址。c str函式的返回值是const char 的,不能直接賦值給char 所以就需要我們進行相應的操作轉化,下面就是這一轉化過程。標準標頭檔案包含操作c 串的函式庫。這些庫函式表達了我們希望使用的幾乎每種字串操作。當呼叫庫...

C 中的 C str 函式用法

轉中轉 語法 const char c str c str 函式返回乙個指向正規c字串的指標常量,內容與本 string 串相同。這是為了與 c 語言相容,在 c 語言中沒有 string 型別,故必須通過 string 類物件的成員函式 c str 把 string 物件轉換成 c 中的字串樣式。...

c str 函式用法

語法 const char c str c str 函式返回乙個指向正規c字串的指標,內容與本string串相同.c str 就是把string類物件轉換成和c相容的char 型別。這是為了與c語言相容,在c語言中沒有string型別,故必須通過string類物件的成員函式c str 把string...