在读取bmp图像数据的时候,有如下代码:
   cFlie.Read(&bmfh,sizeof(bmfh));//读取位图文件头 假设:14个字节
   cFile.Read(&bmih,sizeof(bmih));//读取位图文件信息头 假设 40个字节
   我知道第一句是把文件数据中的14个字节的数据读取出来,那第二句还是从文件中读取40个字节的数据出来,那第二句读出来的数据前14个字节数据岂不是位图文件头的数据了吗?
   难道第一次读取之后文件指针不会在指向文件起始位置了吗?
 可是在读取位图数据的时候,需要移动指针cFile.SeekToBegin();cFile.Seek(54,cfile.begin);
  这个问题应该比较简单,我基础不好,麻烦大家指教了!谢谢!

解决方案 »

  1.   

    我知道第一句是把文件数据中的14个字节的数据读取出来,那第二句还是从文件中读取40个字节的数据出来,那第二句读出来的数据前14个字节数据岂不是位图文件头的数据了吗? 
    ==
    Read以后,文件指针会移动到末尾,所以你不用担心。
      

  2.   

    cFile.SeekToBegin();cFile.Seek(54,cfile.begin); 
    这样写,只不过是更显式的办法。
    放心好了,文件指针肯定会移动的。
      

  3.   

    如果疑惑呢,一种方法是自己测试一下;二是读一下MSDN的帮助,肯定能帮你解惑。实践是检验真理的唯一标准嘛。
      

  4.   

    我知道读出来的肯定是正确的,可我在MSDN里面查Read函数的时候,它并没有说文件指针会移动到末尾并保持的!呵呵!所以就过来问问!