c str 的用法詳細解析

2022-10-04 04:54:07 字數 734 閱讀 3449

const char *c_str();

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

c_str()就是把string類物件轉換成和c相容的char *型別。

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

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

比如:最好不要這樣:

char* c;

string s="1234";

c = s.c_str(); //c最後指向的內容是垃圾,因為s物件被析構,其內容被處理

應該這樣用:

char c[20];

string s="1234";

strcpy(c,s.c_str());

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

再舉個例子

c_str() 以 char* 形式傳回 string 內含字串

如果乙個函式要求char*引數,可以使用c_str()方法:

string s = "hello world!";

printf("%s", s.c_str())程式設計客棧; //輸出 "hello world!"

本文標題: c_str()的用法詳細解析

本文位址: /ruanjian/c/99523.html

c str 函式用法

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

c 中c str 的用法詳解

標準庫的string類提供了三個成員函式來從乙個string得到c型別的字元陣列 主要介紹c str c str 生成乙個const char 指標,指向以空字元終止的陣列。這個陣列應該是string類內部的陣列 include 需要包含cstring的字串 include using namesp...

C 中的c str 函式用法

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