www.ctrt.net > MFC 中ChAr转CString问题

MFC 中ChAr转CString问题

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

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

memcpy是内存复制,最后一字节不自动添加'\0',所以出现123456烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫,你用memcpy的话,就要添加c[6]='\0',这样就输出123456了。 你用strcpy的话,才自动在最后加'\0',如: CString cs="123456"; char c[50];...

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

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

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

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

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

字符串转float atof(char * pszFloat); float 转字符串: sprintf(pszStr,"%f",fVar); #include #include "afx.h"void main(){float fVar;CString str="1.23",resu;fVar=(float)atof(str);fVar*=2;sprintf((LPSTR)(LPCTSTR)resu,"%f",fVar);prin...

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

网站地图

All rights reserved Powered by www.ctrt.net

copyright ©right 2010-2021。
www.ctrt.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com