C 中c str 的用法詳解

2021-10-07 17:24:57 字數 850 閱讀 8589

c中沒有string,所以函式c_str()就是將c++的string轉化為c的字串陣列,c_str()生成乙個const char *指標,指向字串的首位址。

下文通過3段簡單的**比較分析,具體說明c_str()的使用方法和注意事項。

#include

#include

using

namespace std;

intmain()

結果是:

上面如果繼續用c指標的話,導致的錯誤將是不可想象的。就如:1234變為abcd。

其實上面的c = s.c_str(); 不是乙個好習慣。

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

更好的處理為:

再舉個例子

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

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

string s =

"hello world!"

;printf

("%s"

, s.

c_str()

);//輸出 "hello world!"

system

("pause"

);

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 串的函式庫。這些庫函式表達了我們希望使用的幾乎每種字串操作。當呼叫庫...

C 中的c str 函式用法

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