string與char陣列相互轉換
一、char陣列轉string:
1、可以直接賦值。
2、程式碼:
#include<iostream>
using namespace std;
int main()
{
char a[]=" abc d\0efg ";
string s=a; //直接賦值
cout<<s;
return 0;
}
3、結果:
二、string轉char陣列:
1、呼叫strcpy函式,和字串的data函式: (char陣列可以更改)(string轉char陣列)
①、strcpy不能賦值給char指標 ,只能賦值給char陣列;
②、char陣列長度,必須大於等於string長度。
1)、程式碼:
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
string s="123456";
char c[s.length()];
/*
**呼叫strcpy函式,和字串的data函式
**1、strcpy不能賦值給char指標 ,只能賦值給char陣列
**2、char陣列長度,必須大於等於string長度
*/
strcpy(c,s.data());
c[0]='6';
cout<<c<<endl;
cout<<strlen(c);
return 0;
}
2)、結果:
2、呼叫data函式:(string轉char*)
只能賦給const char指標。
const char指標,只是說它指向的東西,不能再重新賦值,但可以改變指向。
1)、程式碼:
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
string str = "hello";
const char* p = str.data();//加const或者用char *p=(char*)str.data();
//*p="Go"; ======>報錯:[Error] invalid conversion from 'const char*' to 'char' [-fpermissive]
// [Error] assignment of read-only location '* p'
cout<<p<<endl;
char a[]="Nice";
p=a;
cout<<p;
return 0;
}
2)、結果:(string轉char*)
3、呼叫c_str函式:
同data()。
1)、程式碼:
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
string str = "hello";
const char* p = str.c_str();//加const或者用char *p=(char*)str.data();
cout<<p<<endl;
char a[]="Nice";
p=a;
cout<<p;
return 0;
}
2)、結果:
相關文章
- 陣列與字串方法與相互轉換陣列字串
- xml與陣列的相互轉換——phpXML陣列PHP
- JavaScript陣列與字串相互轉換 join、splitJavaScript陣列字串
- 轉:java中陣列與List相互轉換的方法Java陣列
- string與數字相互轉換
- Golang 陣列和字串之間的相互轉換[]byte/stringGolang陣列字串
- 陣列和集合的相互轉換陣列
- 字串和陣列的相互轉換字串陣列
- Swift 中 String 與 CChar 陣列的轉換Swift陣列
- iOS字串和陣列的相互轉換iOS字串陣列
- c++中string類物件和字元陣列之間的相互轉換C++物件字元陣列
- Java中 set,list,array(集合與陣列)、Map相互轉換Java陣列
- C# byte陣列與Image相互轉換的方法C#陣列
- Swift中實現Array陣列和NSArray陣列的相互轉換與遍歷Swift陣列
- javascript中字串和陣列的相互轉換JavaScript字串陣列
- C++中string、char *、char[]、const char*的轉換C++
- 轉 IOS---NSdata 與 NSString,Byte陣列,UIImage 的相互轉換iOS陣列UI
- 陣列與集合List的相互轉化陣列
- 旋轉矩陣與尤拉角的相互轉換矩陣
- Java實現普通二維陣列和稀疏陣列的相互轉換Java陣列
- u8 陣列轉換成 string陣列
- js實現的字串和陣列的相互轉換JS字串陣列
- 使用Java完成byte陣列與十六進位制字串相互轉換Java陣列字串
- C# string byte陣列轉換解析C#陣列
- 通過JDOM實現XML與String的相互轉換XML
- 31_Pandas.DataFrame,Series和NumPy陣列ndarray相互轉換陣列
- js實現的陣列和CSV格式的相互轉換JS陣列
- android中String與InputStream之間的相互轉換方式Android
- char(16)列的資料轉換
- CString,int,string,char*之間的轉換
- delphi:string,PChar,Array of Char 之間的轉換
- android byte[]陣列,bitmap,drawable之間的相互轉換Android陣列
- Java 集合與陣列互相轉換Java陣列
- C++中char* const char* string 之間的轉換複習C++
- JavaJNI使用之將JAVA的String[]字串陣列轉化成C語言的char**Java字串陣列C語言
- UIImage與Iplimage相互轉換UI
- SDOM與QDOM相互轉換
- DataTable與List相互轉換