对话框上一个文本框,如何将文本框中的字符串存到字符串变量中?
我的代码如下,1. 用字符数组能实现,但是要指定字符个数,太不灵活了,
文本框中的字符个数是不定的呀!
2. 用字符指针如何实现呢?我的代码总报错
3. 用 CString 类如何实现呢?
//以下方法可以实现,但是字符的个数要指定,不方便
//我不想指定字符的个数
char str[10];
GetDlgItemText(IDC_EDIT1,str,10);
MessageBox(str); //以下代码错误,不知错在何处?
//我的目的是让 str2 当字符串变量用
char * str2;
GetDlgItemText(IDC_EDIT1,str2,100);
MessageBox(str2); //以下用 CString 类
//但是,用CString类,如何取文本框的值呢?
CString str3;

解决方案 »

  1.   

    char * str2;
        GetDlgItemText(IDC_EDIT1,str2,100);
        MessageBox(str2);
    ---------------------------
    上面的代码如何改呢?我想知道,用字符指针如何实现?
      

  2.   

    char * str2;
        GetDlgItemText(IDC_EDIT1,str2,100);
        MessageBox(str2);
    =========
    str2只是一个指针,没有分配空间,改成这样:
    char * str2=new char[MAX_PATH];
        GetDlgItemText(IDC_EDIT1,str2,100);
        MessageBox(str2);
      

  3.   

    其实用CString 是最方便的,直接写成:
    CString str3;
    GetDlgItemText(IDC_EDIT1,str3);
      

  4.   

    如上或者你给他定义一个控件类形的变量
    CString str3;
    m_xxxXXXX.GetWindowText(str3);