本帖最后由 Grubby_wivi 于 2014-08-26 20:43:11 编辑

解决方案 »

  1.   

    那你应该以追加的方式将数据追加到编辑框中,编辑框可以不用关联数值类型的变量,比如CString,int等等。
    每次得到数据以后,格式化成字符串,然后调用
    CEdit::SetSel(-1, -1);CEdit::ReplaceSel(strText);
      

  2.   


    首先,谢谢你的回答!
    我把文本框的成员变量m_data数据类型设置为int类。
    其次“格式化字符串”什么意思,我是新手,刚搜索了这句话的意思,还是不太明白。
      

  3.   

    关联控件CString类型变量m_strText;CString strTemp="";
     for (vector<int>::size_type ix=0;ix!=ivec.size();++ix)
      {
                m_strText.Format("%s %d"),strTemp,ivec[ix];
               strTemp = m_strText;
                UpdateData(FALSE);
         }
      

  4.   

    CString strTemp="";
     for (vector<int>::size_type ix=0;ix!=ivec.size();++ix)
    {
     m_strText.Format("%s %d",strTemp,ivec[ix]);
     strTemp = m_strText;
     UpdateData(FALSE);
    }
      

  5.   


    void CTestReadStringDlg::OnReadFile() 
    {
    CStdioFile file;
    BOOL bOpen = file.Open("D:\\dat.txt", CFile::modeRead);
    if(!bOpen) 
    return;
    CString lpszTemp;
    while(file.ReadString(lpszTemp))
    {
    m_string += lpszTemp;
    m_string += " ";
    }
    UpdateData(FALSE);
            file.Close();
    }关联为CString,然后一次读取每一行,追加到CString末尾,读完文件再显示数据,你上面的代码是每次UpdateData(FALSE)把前一个显示覆盖掉了
      

  6.   


    首先,谢谢你的帮助!用你的方法,问题解决了。但是我还在考虑 用vectort容器怎么实现这样的功能。
    谢谢!
      

  7.   


    首先,谢谢你的帮助!用你的方法,问题解决了。但是我还在考虑 用vectort容器怎么实现这样的功能。
    谢谢!
    vector也可,不外乎就是存放读取字符串的容器不一样,我用的CString来存放临时去读的串,你换成vector就行了,不过ifstream流的读取会麻烦些:void CTestReadStringDlg::OnReadFile() 
    {
    std::vector<int> vec;
    int num;
    ifstream ifs("D:\\dat.txt");
    while (ifs >> num)
    {
    vec.push_back(num);
    }
    std::vector<int>::iterator iter;
    std::string temp;
    for(iter = vec.begin(); iter != vec.end(); iter++)
    {
    char buf[10] = {0};
    sprintf(buf, "%d ", *iter);
    temp += buf;
    }
    m_string = CString(temp.c_str());
    UpdateData(FALSE);
    }
      

  8.   

                m_data += ivec[ix];     // 循环读取vector中的没一个数据,并赋值给m_data;
    }
    UpdateData(FALSE);
      

  9.   


    首先,谢谢你的帮助!用你的方法,问题解决了。但是我还在考虑 用vectort容器怎么实现这样的功能。
    谢谢!
    vector也可,不外乎就是存放读取字符串的容器不一样,我用的CString来存放临时去读的串,你换成vector就行了,不过ifstream流的读取会麻烦些:void CTestReadStringDlg::OnReadFile() 
    {
    std::vector<int> vec;
    int num;
    ifstream ifs("D:\\dat.txt");
    while (ifs >> num)
    {
    vec.push_back(num);
    }
    std::vector<int>::iterator iter;
    std::string temp;
    for(iter = vec.begin(); iter != vec.end(); iter++)
    {
    char buf[10] = {0};
    sprintf(buf, "%d ", *iter);
    temp += buf;
    }
    m_string = CString(temp.c_str());
    UpdateData(FALSE);
    }
    多谢!学习了~~~