knrt.net
当前位置:首页 >> 怎么从Const ChAr*转换到Cstring >>

怎么从Const ChAr*转换到Cstring

指向const的指针不能被赋给指向非const的指针,所以应该用strcpy,也就是另开一块内存,把字符一个个复制过去,示例如下: const char *expr = "goodidea"; char *buf = new char[strlen(expr)+1]; strcpy(buf, expr); strcpy 原型:extern char ...

CString类里面有一个成员函数 CString::GetBuffer LPTSTR GetBuffer( int nMinBufLength ); throw( CMemoryException ); Return Value An LPTSTR pointer to the object’s (null-terminated) character buffer. Parameters nMinBufLength The mi...

如果你用的是unicode的话,那么CString里面存储的是wchar_t*,而不是char*。你确定要把CString转换成char*的话,还要用其他的函数: const wchar_t* wstr = ( LPCTSTR )name; //一定得是unicode,否则这句话会错的 char str[ 20 ] = { 0 }; wcst...

char *buf; CString str = "hello "; 1. buf = (LPSTR)(LPCTSTR)str; 2. strcpy(buf,str); 3. char szTemp[500]; CString strTemp = "123456789 "; memset(buf,0,sizeof(str)); sprintf(buf, "%s ",str); 4. memset(buf,0x00,100); memcpy(buf,(...

1、string 转 CString CString.format("%s", string.c_str()); 2、char * 转 CString CString.format("%s", char*); 3、char * 转 string string s(char *); 4、string 转 char * char *p = string.c_str(); 5、CString 转 string string s(CStr...

你在vs2008中默认字符集是UNICODE字符集,CString中字符以wchar_t的形式来存储的,而不是char。你在项目-》属性-》配置属性 有一个字符集,可以改字符集,改成多字节字符集就行了。

改为: { CString str=11; TCHAR m[300]; _tcscpy(m,str); }

LPCTSTR lpszText = (LPCTSTR)str; CString 重载了 LPCTSTR 的隐式类型转换 LPCTSTR 被定义为 const TCHAR * TCHAR 在多字节编码里被定义为 char, 在宽字符里被定义为 wchar_t

当然不对,CString里面存的是TCHAR字符,TCHAR 可以是char 或者wchar_t(款字符),所以CString转char,不一定可以用强制转换。如果你面存的是wchar_t那么需要函数去转char字符串。关键在于你有没有定义unicode

CString str =_T("hao"); pDC->TextOut(2,4,str); 这样就行了 还有以后文件名和类名或变量函数等名称最好不要用中文

网站首页 | 网站地图
All rights reserved Powered by www.knrt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com