如果有两个txt的文件要输入到内存,要怎么输入啊?

解决方案 »

  1.   

    BYTE *Buffer;  
    Buffer = new BYTE[sFile1.GetLength()+sFile2.GetLength()+1];//分配一块缓存区
    sFile1.Read(Buffer,sFile1.GetLength());//输入第一个文件content到缓存区
    Buffer += sFile1.GetLength();
    sFile2.Read(Buffer,sFile2.GetLength());//输入第二个文件content缓存区
    Buffer -= sFile1.GetLength();
    Buffer[sFile1.GetLength()+sFile2.GetLength()] = '\0';
    TRACE("%s",Buffer);
    delete Buffer;  // 释放
      

  2.   

    用fstream 
    ifstream fii1("文件1");fii2("文件2");
    long s1,s2;
    char bf1[1000],bf2[1000];
    fii1.seekg(0,ios::end);
    s1=fii1.tellg();
    if (s1>=1000)
    cout<<"OVERFLOW!"<<endl;
    fii1.seekg(0;ios::beg);
    fii1.read(bf1,s1);
    文件2fii2同理不写了
      

  3.   

    突然发现我漏写了点^-^
        CFile sFile1,sFile2;
    if(!sFile1.Open(PathName1,CFile::modeRead | CFile::shareDenyWrite))
    {
    MessageBox("Can not open file",_T("Warning"));
    return;
    }
    // CArchive arRead1(&sFile1, CArchive::load);
    if(!sFile2.Open(PathName2,CFile::modeRead | CFile::shareDenyWrite))
    {
    MessageBox("Can not open file",_T("Warning"));
    return;
    }
    // CArchive arRead2(&sFile2, CArchive::load);
    BYTE *Buffer;  
    Buffer = new BYTE[sFile1.GetLength()+sFile2.GetLength()+1];//分配一块缓存区
    sFile1.Read(Buffer,sFile1.GetLength());//存入第一个文件content
    Buffer += sFile1.GetLength();
    sFile2.Read(Buffer,sFile2.GetLength());//存入第二个文件content
    Buffer -= sFile1.GetLength();
    Buffer[sFile1.GetLength()+sFile2.GetLength()] = '\0';
    TRACE("%s",Buffer);
    delete Buffer;  // 释放