您的位置:首页 > 编程语言 > C语言/C++

c++字符串与字符等类型互相转换

2015-06-27 12:07 447 查看
string str;
CString cstr;
cstr = "hello";
str = cstr;
//第一种方法
char * p1 = (char*)str.data();
//第二种方法
char * p2 = (char*)str.c_str();
//第三种方法
char p3[40];
str.copy(p3,5,0);
*(p3+5) = '\0';//是为了让字符串终止
//第四种方法
char * p4 = new char[255];
int len = str.length();
for (int i=0;i<len;i++)
{
p4[i] = str[i];
}
p4[len] = '\0';
//获取char*类型的字符串长度
int j = strlen(p4);
//各种类型转化为cstring类型
CString s;
s.Format("%d",j);
//字符串拷贝
char *p5 = new char[255];
//char *t1 = strcpy(p5,p4);
//char *t2 = strncpy(p5,p4,2);*(t2+2) = '\0';
//strnset(p4,2,2);//p4="hello"变成“llo”
//int ch = 'o';char * js = (char*)memchr(p4,ch,5);寻找字符位置的
//result = memcmp(p4,p3,1);比较字符串的,等于memicmp

//char* 与const char *区别
char cp1 = '3';//可以改变
const char *cp2 = "123";//不可以改变
string ss = "\062";
char cp3[4];
for (int k=0;k<4;k++)
{
cp3[k] = ss[k];
}
cp3[5] = '\0';
string sss = p1;//char * 可以直接给string赋值
//八进制'\062'转换为一个字符
string str = "\062";
const char *p = str.c_str();
string ss = p;//LPCTSTR=>string
string sss = ss+"123456";
//
AfxMessageBox(sss.c_str());
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: