CString,字符数组,string 互相转换
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CString,字符数组,string 互相转换
有三个函数可以将字符串的内容转换为字符数组和C—string
1.data(),返回没有”\0“的字符串数组
2,c_str(),返回有”\0“的字符串数组
3,copy()
string 转CString
CString.format("%s", string.c_str());
用c_str()确实比data()要好.
CString转string
string s(CString.GetBuffer());
GetBuffer()后一定要ReleaseBuffer(),否则就没有释放缓冲区所占的空间.
char* 转CString
CString.format("%s", char*);
CStringstrtest;
char * charpoint;
charpoint="give string a value";
strtest=charpoint; //直接付值
CString转char *
CStringstrtest="wwwwttttttt";
charpoint=strtest.GetBuffer(strtest.GetLength());
CString转换char[100]
char a[100];
CStringstr("aaaaaa");
strncpy(a,(LPCTSTR)str,sizeof(a));
CStringstr="aaa";
char* ch;
ch=(char*)(LPCTSTR)str;
char* 转string
string s(char *);
你的只能初始化,在不是初始化的地方最好还是用assign().
string 转char *
char *p = string.c_str();
_bstr_t与CString互转
_bstr_tbstr
CStringcstr;
CString -> _bstr_t: bstr=(_bstr_t)cstr;
_bstr_t ->CString: cstr=(LPCSTR)bstr;
BSTR 与CString互转
BSTR bstr;
CStringcstr;
CString ->BSTR :bstr=cstr.AllocSysString(); BSTR ->CString :cstr=(LPCSTR)bstr;。