问题描述:
我用CEdit::Getline来取得Edit上的文字
然后保存成文件
代码如下 int count = m_Edit.GetLineCount();
for(int i = 0; i < count; i++)
{
m_Edit.GetLine(i, strLine);
strcat(strLine,"\r\n");
file.write(strLine,200);
}但是在文件里面,发现并没有把Edit中的文字全取出来
而且在i = 0的时候,并不能把字符取到strLine里而且在文本文件里字符的排列很乱

解决方案 »

  1.   

    char *pbuf;
    int nCount = pEdit->GetLineCount();
    strTemp.Format("%d",nCount);
    AfxMessageBox(strTemp);
    for(int i=0;i<nCount;i++)
    {
    pbuf=new char[pEdit->LineLength(i)+1];
    pEdit->GetLine(i,pbuf);
    pbuf[pEdit->LineLength(i)]='\0';
    file.Write(pbuf,pEdit->LineLength(i));
    file.Write("\r\n",2);
    AfxMessageBox(pbuf);
    delete pbuf;
    pbuf =NULL;
    }
      

  2.   

    我改写成下面这样就可以正常地把Edit中的字符保存到文件中了m_Edit.GetWindowText(text);char * str = text.GetBuffer(65535);
    file.write(str, text.GetLength());
      

  3.   

    楼主的意思应该是按行来存和取吧
    如果不是,那直接像wshcdr那样就可以了
      

  4.   

    云雀大哥的代码在我这里还是出现了乱码还是GetLine的问题
      

  5.   

    // CString strTemp;

    // pEdit->GetWindowText(strTemp);
    // file.Write(strTemp,pEdit->GetWindowTextLength());edit控件的内容你是否也是自己代码加的,可能是那里有问题吧!
      

  6.   

    m_Edit.GetLine(i, strLine);
    改偽
    m_Edit.GetLine(i, strLine, 10000);
      

  7.   

    // CString strTemp;

    // pEdit->GetWindowText(strTemp);
    // file.Write(strTemp,pEdit->GetWindowTextLength());edit控件的内容你是否也是自己代码加的,可能是那里有问题吧!/////////////////////////////////
    不是用代码加的文字
    就是手工在EDIT上输入的其实就是想模拟Notepad的保存功能而已