m_editText 是 CEdit 类型(来自 MFC)。多年来,这在 WinXP(32 位)中的数百名用户中运行良好,但是当相同的可执行文件在 Win7(64 位)上时,一些用户(在 strText 中)获得额外的奇怪(即扩展,即垃圾)字符附加到文本他们在编辑框控件 (m_editText) 中键入。我无法重现问题。我验证了 GetLine 只复制了输入到编辑框中的字符(至少在我的机器上)。
TCHAR atchBuffer[256] = {0}; // initialize to all nulls
int nChrCount = m_editText.GetLine(0, atchBuffer, 255);
CString strText;
if (nChrCount!=0)
strText = CString(atchBuffer);
这是在 WinXP(32 位)上的 Visual C++ 6 中编译(调试构建),MFC 5 静态链接。提供的任何见解将不胜感激。