首页 > 其他 > 详细

string与char*之间的转换

时间:2020-06-07 15:12:39      阅读:37      评论:0      收藏:0      [点我收藏+]

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);

 

string与char*之间的转换

原文:https://www.cnblogs.com/cs0915/p/13060525.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!