c – CEdit :: GetLine()windows 7
发布时间:2020-12-16 09:34:01 所属栏目:百科 来源:网络整理
导读:我有以下代码段,其中m_edit是CEdit控件: TCHAR lpsz[MAX_PATH+1];// get the edit box textm_edit.GetLine(0,lpsz,MAX_PATH); 这适用于运行Windows XP及更早版本的计算机.我没有在Vista中测试过这个,但是在Windows 7上,lpsz会在其中插入垃圾unicode字符(有
我有以下代码段,其中m_edit是CEdit控件:
TCHAR lpsz[MAX_PATH+1]; // get the edit box text m_edit.GetLine(0,lpsz,MAX_PATH); 这适用于运行Windows XP及更早版本的计算机.我没有在Vista中测试过这个,但是在Windows 7上,lpsz会在其中插入垃圾unicode字符(有时还会显示实际文本).想知道这里发生了什么? 解决方法
既然你正在使用MFC,你为什么不利用它的CString类?这是许多程序员被MFC吸引的原因之一,因为它使得使用字符串变得更加容易.
例如,您可以简单地写: int len = m_edit.LineLength(m_edit.LineIndex(0)); CString path; LPTSTR p = path.GetBuffer(len); m_edit.GetLine(0,p,len); path.ReleaseBuffer(); (以上代码经过测试,可在Windows 7上正常运行.) 请注意,复制的行不包含空终止字符(请参阅documentation中的“备注”部分).这可以解释您在更高版本的Windows中看到的无意义字符. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读