一、string轉char*。
主要有三種方法可以將str轉換為char*型別,分別是:data(); c_str(); copy();
1.data()方法,如:
string str = 「hello」
const char * p = str.data();//加const
或者用 char *p=(char *)str.data();的形式
同時有一點需要說明,這裡在devc++中編譯需要新增const,否則會報錯invalid conversion from const char to char ,這裡可以再前面加上const或者在等號後面給強制轉化成char的型別。
2.c_str()方法,如:
string str=「world」;
const char *p = str.c_str();//同上,要加const或者等號右邊用char
3.copy()方法,如:
tring str=「hmmm」;
char p[50];
str.copy(p, 5, 0);//這裡5代表複製幾個字元,0代表複製的位置,
*(p+5)=『\0』;//注意手動加結束符!!!
二、char * 轉string。
可以直接賦值。
string s;
char *p = 「hello」;//直接賦值
s= p;
這裡有一點要說明,當宣告了string型別變數s後,用printf("%s",s);是會出錯的,因為「%s」要求後面的物件的首位址。但是string不是這樣的乙個型別。所以肯定出錯。
string型別和char型別相互轉換
概念 string string可以被看成是以字元為元素的一種容器。具有一些成員函式比如begin end 迭代器可以根據他們進行定位,length 函式獲取長度。與char型別不同,string 不一定使用null 0 結束,不能將string直接賦值給char char char 是乙個指標,可...
C中的char 和C 中的string
寫了這樣一段 編譯會報錯,錯誤提示如下 原因 混用c語言和c 的語法 printf,scanf,fprinf等可以格式化輸入輸出乙個字串中使用 s 時,只能使用c string 如果是c string的話,就必須先變成c string。要將c string轉化成 c string的方法 str.c ...
char 與 string物件相互轉換
string 是c 標準庫裡面其中乙個,封裝了對字串的操作 1 把string轉換為char 有3中方法 1.const char data const 返回乙個非null終止的c字元陣列 如 string str abc char p char str.data 2.const char c st...