ntjm.net
当前位置:首页 >> MFC里的Cstring如何得到它的ChAr值? >>

MFC里的Cstring如何得到它的ChAr值?

CString str; char *p = str.GetBuffer(str.GetLength());

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

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...

UpdateData(true); char* buf = m_SendMSG.GetBuffer(0); 在MFC中,最好不要用char和CString转换。不仅麻烦,还容易出错。 就用单一的CString就好,获得字符串内容用GetBuffer。 如果跨平台试试std::string。

各位大侠们,VC++MFC中的编辑框内容是字符(“0.1,0.01,0.001,0.有函数,好像是GetDlgNext()函数可以直接得到编辑框的字符串。 ,WDwfyx

strcpy(person1.name, (LPCTSTR)m_1); //sprintf(person1.name, "%s", (LPCTSTR)m_1) cstring重载了 运算符----------> CString::operator LPCTSTR operator LPCTSTR ( ) const; Return Value A character pointer to the string’s data.

你定义时就有错了,char a[8]; 里面最多只能放7个a,最后一个要被\0占用,而你里面却有8个a,没有结束符,所以会出错,如果你定义char a[9]的话就可以了,你的定义没有错吗?我在vc6下这样写编译时会报错的。

LPCTSTR类型 如何理解LPCTSTR类型? L表示long指针 这是为了兼容Windows 3.1等16位操作系统遗留下来的,在win32中以及其他的32为操作系统中, long指针和near指针及far修饰符都是为了兼容的作用。没有实际意义。 P表示这是一个指针 C表示是一个...

CString a(CString m, CString b, CString c){ int nBegin = m.FindOneOf(b); int nEnd = m.FindOneOf(c); CString str = m.Mid(nBegin + b.GetLength(), nEnd- nBegin - b.GetLength()); return str;}

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

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