CFile file("1.avi",CFile::modeRead);
unsigned char *buf;
long len;
    len=file.GetLength();
    buf=new unsigned char[len];
file.Read(buf,len);
for (int i=0;i<len;i++)
{
cout<<buf[i]<<endl;
}
我想把文件读在buf中
但是这个文件是比较大的,先请问各位大神这样读行吗,用unsigned char,还有一次读完
还遇到一个问题就是,当执行到cout 时我的机子就不停"滴滴滴"的响,就是开机时那种"滴"的声音,我把循环次数改小点就没事了
不知道是什么原因

解决方案 »

  1.   

    Read是有返回值的吧
    你可以看看是不是一次行读完了全部文件
      

  2.   

    恩 读是读完了的
    我是用unsigned char,char,还是byte好了
    还有机箱那声音是怎么回事
      

  3.   

    很奇怪,你为什么要用For循环将读取的文件信息一个个输出呢?为什么不直接输出所有的东西?循环完全可以不要。
      

  4.   

    我想看看文件里的东西,不用for也能做到这样吗
      

  5.   

    cout<<buf;
    可以这样试试
      

  6.   

    振铃是因为你在输出的时候碰到了值为'\a'的数据
    avi格式又不全是文本字符 这么做好像没什么意义 不会播放图像 你也没法从文本格式输出得到多少信息 要是怕文件太大就多次Read吧