visual c ++ copy文本框内容

时间:2009-10-02 15:49:57

标签: c++ string visual-c++

如何复制textbox-> char数组中的文本内容? 我在vc ++工作。

3 个答案:

答案 0 :(得分:1)

使用CWnd :: GetWindowText()

CString str;
CWnd* pWnd = GetDlgItem(IDC_WHATEVER);
pWnd->GetWindowText(str);

将控件的内容放入CString中,或者您可以使用数组版本:

TCHAR sz[10];
int nRet = pWnd->GetWindowText(sz, 10);

答案 1 :(得分:0)

你的查询不清楚,所以我必须承担一些事情。

假设您正在使用MFC,请将控件类型变量添加到编辑框(例如m_Edit),并使用m_Edit.GetWindowText()来获取文本。

或者,如果您使用的是普通的Win32,请使用GetWindowText() Win32 API。

另外一点,就像另一位用户指出的那样,如果使用的是c ++,请停止使用固定大小的字符数组来存储字符串。如果您使用的是MFC,请使用类似std :: string的内容或使用CString。通过这样做,您可以非常轻松地操作字符串,并且您的代码不会出错。

干杯,拉杰什。 MVP,Visual C ++

答案 2 :(得分:0)

您也可以尝试这样.....

CString csTbxName;
GetDlgItemText(IDC_EDIT1,csTbxName);
const char* pchTbxName = csTbxName.GetBuffer();
char chTbxNameDup[5000];
ZeroMemory(chTbxNameDup,5000);
if(csTbxName.GetLength() < 5000)
{
    memcpy(chTbxNameDup,(void*)pchTbxName,csTbxName.GetLength());
}