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