CString strbuf;
strbuf.GetBuffer(100000);
char ch;
FILE *fp;
fp=fopen(filename,"r")
while(!feof(fp))
{
    fscanf(fp,"%c",&ch);
    strbuf+=CString(ch);
}

解决方案 »

  1.   

    char buffer[MAX_PATH];
    CStdioFile file;
    file.Open("C:\\test.txt",CFile::modeRead);file.ReadString(buffer,MAX_PATH);
    ///TODO:you code here//////file.Close();
      

  2.   

    CFile file;
    file.open("llc.c");//打开llc.c
    while(!file.eof())//判断是否文件结束
    {
            char str[255];
            file.getline(str,255);//得到一行也可以用read()
    }
      

  3.   

    能不能加上注释,我初用vc,是不是用CFile类更好一些呢,我这样写:CFile myFile;
    CString *buffer;
    int length;
        CString pszFileName = m_path;
    CFileException fileException; 
        if ( !myFile.Open( pszFileName, CFile::modeCreate |   
              CFile::modeReadWrite ), &fileException )
    {
        TRACE( "Can't open file %s, error = %u\n",
           pszFileName, fileException.m_cause );
    }
           length=myFile.GetLength();
           buffer=(CString*)malloc(length);
        myFile.Read(buffer, length); 
    你看行吗?
      

  4.   

    HANDLE f1;  DWORD l1=0;
    unsigned char buf[8192];
    f1=CreateFilesourFile,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,    NULL,OPEN_EXISTING,FILE_FLAG_SEQUENTIAL_SCAN, NULL)//sourFile为文件路径
    do{ReadFile(f1,(LPVOID)buf,8192,&l1,NULL)} 
      while(l1==8192)
    可能这种方法适合文件比较小的。
      

  5.   

    我找到方法,运行成功,希望与大家研究,这样:
    CFile myFile;
     CString buffer;
     CString readchar;
     char *buf=NULL;
     int length;
     CString pszFileName = m_path;\\存路径了
     myFile.Open(pszFileName,CFile::modeRead);
           length=myFile.GetLength();
           buf=new char[length];
           myFile.Read(buf, length); 
           buffer=buf;
           for(i=0;i<length;i++)
            readchar[i]=buffer.GetAt(i);
    还想问一下,CFile::Read()的缓冲区类型只能是char吗?
      

  6.   

    CFile::Read()读取的数据当然也可以是数字型!