对这样的文件如何操作? ( 积分: 100 )

  • 主题发起人 主题发起人 illiperson
  • 开始时间 开始时间
I

illiperson

Unregistered / Unconfirmed
GUEST, unregistred user!
一个数据文件,开始是64字节的文件头,之后便是数据记录,每条记录48字节,对这样的文件如何操作?最好能给一个例子。
 
用流,内存流或文件流都可以。。
先读64字节,再读48字节。。。
例子网上有很多,自己找找吧。。
 
你知道那48个字节的结构吗?要是知道的话,就非常的好办。
建一个结构体,假设:
TData = Record
A: integer;
B: String[4];
...
End;
然后,声明一个Data : TData;
开始读取数据:
Stream: TMemoryStream;
Stream.LoadFromFile(你的文件);
Stream.Position := 0;
Stream.Read(文件头的Buffer,64);
Stream.Read(Data,48);//这里就会把数据放到你定义的结构体中,你可以那来使用,然后用个循环,把所有数据读出。
 
48字节确实是一个结构体。如何读取第二条、第三条记录还望详细一点说明。
 
比如如果想读取最后一条记录的话,如何定位指针?
 
不就是一个记录类型的文件吗?你知道结构体了就直接声明一个这种结构类型的
文件不就行了~直接就是一个结构一个结构的读取
For example,

type

PhoneEntry = record
FirstName, LastName: string[20];
PhoneNumber: string[15];
Listed: Boolean;
end;
PhoneList = file of PhoneEntry;
 
创意人生 的做法是对的,读完一次,再把流文件的进度设置成上一次的末尾,方便下一次继续读,就这样循环到整个文件完就是了撒.
 
接受答案了.
 
后退
顶部