TCHAR lpsz[MAX_PATH+1];// get the edit Box textm_edit.Getline(0,lpsz,MAX_PATH);
这适用于运行windows XP及更早版本的计算机.我没有在Vista中测试过这个,但是在windows 7上,lpsz会在其中插入垃圾unicode字符(有时还会显示实际文本).想知道这里发生了什么?
解决方法@H_301_17@ 既然你正在使用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中看到的无意义字符.
总结以上是内存溢出为你收集整理的c – CEdit :: GetLine()windows 7全部内容,希望文章能够帮你解决c – CEdit :: GetLine()windows 7所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)