本篇文章給大家帶來的內容是關於C++中string&char *&char[]之間如何轉換(示例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。
一、string轉char*。
主要有三種方法可以將str轉換為char*類型,分別是:data(); c_str(); copy();
1.data()方法,如:
1 2 |
|
同時有一點需要說明,這里在devc++中編譯需要添加const,否則會報錯invalid conversion from const char* to char *,這里可以再前面加上const或者在等號后面給強制轉化成char*的類型。
下面解釋下該問題,const char*是不能直接賦值到char*的,這樣編譯都不能通過,理由:假如可以的話,那么通過char*就可以修改const char指向的內容了,這是不允許的。所以char*要另外開辟新的空間,即上面的形式。
2.c_str()方法,如:
1 2 |
|
3.copy()方法,如:
1 2 3 4 |
|
二、char * 轉string。
可以直接賦值。
1 2 3 |
|
這里有一點要說明,當聲明了string類型變量s后,用printf("%s",s);是會出錯的,因為“%s”要求后面的對象的首地址。但是string不是這樣的一個類型。所以肯定出錯。
三、string轉char[]
這個由於我們知道string的長度,可以根據length()函數得到,又可以根據下標直接訪問,所以用一個循環就可以賦值了。
1 2 3 4 5 6 7 8 |
|
四、char[]轉string
這里可以直接賦值。
1 2 |
|
相關推薦:
以上就是c++中string&char *&char[]之間如何轉換(示例)的詳細內容,更多請關注php中文網其它相關文章!