MFC + Duilib 的学习及总结
1)在Unicode 中 Char 可以看作 ASCII , 如果要打印或显示时,要进行转换
m_COM2.ReadBuffer(buf, MAX_PATH);
m_str.Format(_T("COM2=%s\r\n"), m_SuperStr.AnsiToUnicode(buf)); //AnsiToUnicode
m_ListBox.SetListBoxItem(m_pRichEdit, CString(m_str));
2)在Unicode 中 CString 可以看作 WCHAR , 如果转换 char
void CSuperString::CStringToChar(CString str, char *tmp)
{
int len = WideCharToMultiByte(CP_ACP, 0, str, -1, NULL, 0, NULL, NULL);
char *ptxtTemp = new char[len + 1];
WideCharToMultiByte(CP_ACP, 0, str, -1, ptxtTemp, len, NULL, NULL);
//拷贝字符串,将内存source上的值存到另一个内存上
strcpy(tmp, ptxtTemp);
delete[] ptxtTemp;
}
2)在Duilib 中, m_str 是全局变量,使用时,要注意!
在Duilib 中可以直接使用
在MFC 中要转换一下!
m_COM2.ReadBuffer(buf, MAX_PATH);
m_str.Format(_T("COM2=%s\r\n"), m_SuperStr.AnsiToUnicode(buf)); //AnsiToUnicode
m_ListBox.SetListBoxItem(m_pRichEdit, CString(m_str));
m_str.Empty();