怎样从一个编辑框中读取多行文件,编辑框中输入的内容是多行英文,形如
i am a student
we are students
中间有空格和换行符.
请问应使用什么文件读取函数,好像CStdioFile只能读取一行文字,且中间不能有空格.

解决方案 »

  1.   

    读取一行
    自己写,不要使用MFC的类,MFC很多意外情况。
    ==================================================FILE *pSourFile;//指向源文件
    CString sSourLine="";//从源文件中取出的一行pSourFile = fopen(sFileName,"rt");
    if(pSourFile==NULL) {
    AfxMessageBox("源文件打开失败!");
    return false;
    }
    while(!feof(pSourFile)){
    ReadLine(pSourFile, sSourLine);//读一行
    }
    }
    //读取文件的一行
    void CSetEx::ReadLine(FILE *pFile, CString &line)
    {
    line="";
    char ch;
    int pos=0;
    while(!feof(pFile)){
    //Read(&ch,1);
    ch = fgetc(pFile);
    if(ch=='\r'||ch=='\n')break;
    line+=ch;
    pos++;
    if(line.Find("", 0))
    {
    ftell(pFile);
    }
    }
    line.TrimRight('\r'); 
    line.TrimRight('\n'); 
    line.TrimRight('\r'); 
    line.TrimRight(0xff); //过滤文件结束符
    return;}
      

  2.   

    或者:
    CStdioFile file;
    if(file.Open(_T(m_sAppPath+"\\text"),CFile::modeReadWrite))
        {
    CString sss;
    DWORD o=0;
    int ol=0;
    while(file.ReadString(sss))
    {
    if(find.FindFile(m_sAppPath+"\\text"))
    m_cbBkGround.AddString(sss);//sss即为一行
    }
    }