游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2610|回复: 7

请教一个C的文件操作问题

[复制链接]

25

主题

82

帖子

82

积分

注册会员

Rank: 2

积分
82
发表于 2007-7-2 20:46:00 | 显示全部楼层 |阅读模式
如果知道一个文件的内部构成,
怎么样用代码去读取其中的信息呢
比如一个BMP文件:
==============================================================================
1.文件头信息块
0000-0001:文件标识,为字母ASCII码“BM”。
0002-0005:文件大小。
0006-0009:保留,每字节以“00”填写。
000A-000D:记录图像数据区的起始位置。各字节的信息依次含义为:文件头信息块大小,图像描述信息块的大小,图像颜色表的大小,保留(为01)。

000E-0011:图像描述信息块的大小,常为28H。
0012-0015:图像宽度。
0016-0019:图像高度。
001A-001B:图像的plane总数(恒为1)。
001C-001D:记录像素的位数,很重要的数值,图像的颜色数由该值决定。
001E-0021:数据压缩方式(数值位0:不压缩;1:8位压缩;2:4位压缩)。
0022-0025:图像区数据的大小。
0026-0029:水平每米有多少像素,在设备无关位图(.DIB)中,每字节以00H填写。
002A-002D:垂直每米有多少像素,在设备无关位图(.DIB)中,每字节以00H填写。
002E-0031:此图像所用的颜色数,如值为0,表示所有颜色一样重要
=================================================================================
我只知道用:fopen()的函数的打开,是不是字节偏移量OFFSET 去读取字节啊?
具体应该怎么做呢, (我想解析的是一个自定义的.x文件)
能给我一个自定义的文件和解析这个文件包含信息的函数代码吗
谢谢达人了~~
顺便提一下 如果去自己编写一个自定义的文件格式呢?最好有代码啊 拜谢了

0

主题

3

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2007-7-2 22:23:00 | 显示全部楼层

Re:请教一个C的文件操作问题

帮顶

86

主题

2251

帖子

2386

积分

金牌会员

Rank: 6Rank: 6

积分
2386
QQ
发表于 2007-7-3 08:46:00 | 显示全部楼层

Re:请教一个C的文件操作问题

找一些读BMP文件的代码看看

25

主题

82

帖子

82

积分

注册会员

Rank: 2

积分
82
 楼主| 发表于 2007-7-3 12:59:00 | 显示全部楼层

Re: 请教一个C的文件操作问题

大哥 就是找不到好的代码看啊,帮忙给个~~ 3Q

86

主题

2251

帖子

2386

积分

金牌会员

Rank: 6Rank: 6

积分
2386
QQ
发表于 2007-7-3 20:18:00 | 显示全部楼层

Re:请教一个C的文件操作问题

http://dev.gameres.com/search_articles.asp?page=1

25

主题

82

帖子

82

积分

注册会员

Rank: 2

积分
82
 楼主| 发表于 2007-7-3 21:23:00 | 显示全部楼层

Re:请教一个C的文件操作问题

又知道一个函数 fread(); 哎 还是郁闷 不知道具体怎么搞
我把文件用文本格式打开 不知道怎么怎么去read 相应的位置
连那里写个0.97433234这点数怎么读都不知道 神啊 9958

86

主题

2251

帖子

2386

积分

金牌会员

Rank: 6Rank: 6

积分
2386
QQ
发表于 2007-7-4 08:58:00 | 显示全部楼层

Re:请教一个C的文件操作问题

找本C语言教材,里面都会介绍FILE操作,照着书上例子过一遍就行了

60

主题

1319

帖子

1319

积分

金牌会员

Rank: 6Rank: 6

积分
1319
发表于 2007-7-6 12:31:00 | 显示全部楼层

Re:请教一个C的文件操作问题

BITMAPFILEHEADER header;
FILE* pFile = fopen("abc.bmp", "rb");
if(pFile!=NULL)
{
  fread(&header, 1, sizeof(BITMAPFILEHEADER), pFile);
  //...

  fclose(pFile);
}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-25 22:14

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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