游戏开发论坛

 找回密码
 立即注册
搜索
123
返回列表 发新帖
楼主: hai8887

请教流的问题

[复制链接]

32

主题

543

帖子

543

积分

高级会员

Rank: 4

积分
543
 楼主| 发表于 2004-12-15 11:21:00 | 显示全部楼层

Re: Re:请教流的问题

zhouy0429: Re:请教流的问题

一段代码,或许有帮助:

#include <fstream.h>
#include <string>

int Repaire(const c...

有帮助!谢了大侠........

0

主题

172

帖子

176

积分

注册会员

Rank: 2

积分
176
发表于 2004-12-15 12:40:00 | 显示全部楼层

Re:请教流的问题

我习惯用fstream……

我一般这么写
unsigned char buffer[128];
fstream file;
file.open("text.dat",ios::in|ios::binary);
file.read((char *)buffer,sizeof(buffer)); //读一个struct也如此
file.close();

32

主题

543

帖子

543

积分

高级会员

Rank: 4

积分
543
 楼主| 发表于 2004-12-15 15:07:00 | 显示全部楼层

Re:请教流的问题

6spring大侠,请教一下read用法..........

0

主题

172

帖子

176

积分

注册会员

Rank: 2

积分
176
发表于 2004-12-15 18:08:00 | 显示全部楼层

Re:请教流的问题

read(char * buffer ,int size),就是从当前读写游标处读取size大小的数据到buffer里,第一个参数需要是char * ,如果是纯粹二进制数据流,可以强行把结构指针强制转换成char(我后面附一个读位图数据的代码),而读取游标位置由tellg()获得,移动读取游标用seekg方法,具体的建议找本书来看看。

  1. #include <windows.h>
  2. #include <fstream.h>

  3. //简化版,功能为把一张32位位图像素数据读出,只取蓝绿为0的像素值
  4. //代码不完整!只是表示个意思而已
  5. fstream fzDataFile;

  6. BITMAPFILEHEADER   bf;
  7. BITMAPINFOHEADER   bi;
  8. RGBQUAD Indata;

  9. fzDataFile.open("dart.bmp",ios::in|ios::binary);
  10.        
  11. fzDataFile.read((char *)&bf,sizeof(BITMAPFILEHEADER));
  12. fzDataFile.read((char *)&bi,sizeof(BITMAPINFOHEADER));

  13. fzDataFile.seekg(bf.bfOffBits);
  14. int i,j;

  15. unsigned int score;

  16. for(i=bi.biHeight-1;i>=0;i--)
  17. {
  18.         for(j=0;j<bi.biWidth;j++)
  19.         {
  20.                 fzDataFile.read((char *)&Indata,sizeof(RGBQUAD));
  21.                 score = (unsigned)Indata.rgbBlue;
  22.        
  23.                 if(Indata.rgbGreen!=0 ||Indata.rgbRed !=0) score=0;
  24.                 ScoreMap[i][j]=score;
  25.         }
  26. }

  27. fzDataFile.close();
复制代码

29

主题

178

帖子

187

积分

注册会员

Rank: 2

积分
187
QQ
发表于 2004-12-15 18:34:00 | 显示全部楼层

Re:请教流的问题

好哇……不过这些对于C++程序员,应该是很基础的东西。

32

主题

543

帖子

543

积分

高级会员

Rank: 4

积分
543
 楼主| 发表于 2004-12-16 13:09:00 | 显示全部楼层

Re:请教流的问题

谢谢6spring大侠了,小弟这几天试验一下,有不明再请教大侠,谢谢了 [em13]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-23 17:53

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表