[MFC]CString对象的提高
程序员文章站
2022-06-10 20:27:21
...
文章目录
一、其他类型与 CString 对象类型的转换
1. 格式化字符串
int、TCHAR * 向CString类型的转换
int num = 100;
CString str;
str.Format(_T("%d"), num);
2. CString向 int、TCHAR * 类型的转换
CString str1(_T("123"));
int num = _ttoi(str1);
TCHAR *pszBuf = str.GetBuffer();
str.ReleaseBuffer(); //GetBuffer与ReleaseBuffer成对出现
TCHAR *p = (LPTSTR)(LPCTSTR)str;
3. CString 对象的 Ansi 与 Unicode 转换
CString str;
str = _T("abc");
char *p = "defg";//窄字节
str = p;
wchar *pW = "defg";//宽字节
str = pW;
二、CString对象字符串所占用的字节数
CString str = _T("abc");
错误的求法:sizeof(CString)、sizeof(str)
正确的求法:str.GetLength()*sizeof(TCHAR)
当作为 TCHAR * 类型传参时,确保申请了足够用的空间,比如使用 GetModuleFileName 函数;
CString strTemp;
GetModuleFileName(NULL, strTemp.GetBufferSetLength(MAX_PATH), MAX_PATH);
strTemp.ReleaseBuffer();
上一篇: c#多线程以及与主线程传值。
下一篇: vue界面传值(子父组件)