string與char* char[]之間的轉換


1. string to char*
方式1  通過const_cast<char*>()

std::string str = "string";
char* chr = const_cast<char*>(str.c_str())

方式2

string str = "some string" ;
char *cstr = &str[0];

方式3

std::string str = "string";
const char *cstr = str.c_str();

使用str.c_str()返回的是const cahr* 類型,如果想轉換為char* 類型需經過const_cast<char*>()

 

2. char* to string
方式1:直接賦值

char c[] = "this is a char array";
const char* t = "const char";
string s = t;
string ss = c;

方式2:

同理const char*轉string:

const char* cc = "this is a const exp";
string s(cc, cc + strlen(cc));

 

3. char* 和const char*

const char* src = "this is a const exp";
char* ch = const_cast<char*>(src);
const char* dst = static_cast<const char*>(ch);
cout << ch << endl;
cout << dst << endl;

 4.string轉為char[]

//char[]可以直接賦值給stiring
//string不能直接轉換為char[],可以先轉換為char*,再通過strcpy來轉換
char buf[BUFSIZE];
char* p=const_cast<char*>(str.c_str());
strcpy(buf,p);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM