bgcd.net
当前位置:首页 >> mFC ChAr 转为Cstring >>

mFC ChAr 转为Cstring

GetWindowText的参数可以是CString 类型的,为什么要使用字符数组做参数,之后再把字符数组转换为CString 类型的?没有这个必要吧朋友。

char * cs2ca(CString str) { char *ptr; #ifdef _UNICODE LONG len; len = WideCharToMultiByte(CP_ACP, 0, str, -1, NULL, 0, NULL, NULL); ptr = new char [len+1]; memset(ptr,0,len + 1); WideCharToMultiByte(CP_ACP, 0, str, -1, ptr, le...

char* pStr = "SSS"; CString str; str.Format("%s", pStr);

这个CString是MFC库里面的类么? 如果是的话,有如下3种方法 方法1: char a[] = "This is a test"; CString str = a; 方法2: CString str(a); 方法3: CString str; str.Format(_T("%s"), a);

m_edit = str; UpdateData(FALSE); 前提是通过ClassWizard绑定的成员变量,也就是说DoDataExchange中有这么一行: DDX_Text(pDX, IDC_EDIT1, m_edit);

m_x = s; 或者 m_x.Format("%s", s); 如果还要把 s 的值在编辑框上显示出来, 再加上一行 UpdateData(FALSE);

微软有现成的转换函数,如下,在前面加个宏定义,USES_CONVERSION;然后用宏转换T2A。 CString str = _T("中国人"); USES_CONVERSION; char* p = T2A(str.GetBuffer(0)); str.ReleaseBuffer();

char name[100] = "中华人名共和国"; // 这是有效的字符数组初始化strName = CA2CT(name); // 这样就可以了char name[] 是窄字符的字符串CString 有两种可能,如果有UNICODE宏就是宽字符CStringW,如果没有这个宏就是窄字符CStringA。用CA2CT可...

1.传给未分配内存的const char* (LPCTSTR)指针. CString cstr(asdd); const char* ch = (LPCTSTR)cstr; ch指向的地址和cstr相同。但由于使用const保证ch不会修改,所以安全. 2.传给未分配内存的指针. CString cstr = "ASDDSD"; char *ch = cst...

Cstring a="Sass"; Char *p=a. GetBuffer(a.GetLength()); AfxMessageBox(p); a.Format("%s",p); AfxMessageBox(a); 有什么问题吗 你编译器设置的编码格式是unicode的话,好像应该在字符串前面加个L或_T()宏,类似_T("xxxxxxxx"),不一定对。...

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