没接触过二进制文件
不知道如何操作
问题如下
1.如何读取二进制文件
2.如何知道二进制的字节数
3.能不能将二进制文件读到一个数组中
不知道如何操作
问题如下
1.如何读取二进制文件
2.如何知道二进制的字节数
3.能不能将二进制文件读到一个数组中
解决方案 »
- win7 c盘下FileCreate 返回值是8 但实际因为没有权限创建并没有成功
- delphi我要删除数据库中的数据这段代码哪里有问题
- 使用ADO连接和ADOQuery时怎么更新数据库
- 请问关于 if 语句的问题
- ★★★二个月马拉松似的找工作,终于有结果了! PASS!★★★
- 大虾们,烦请看看这个关于ADOQuery 的Active的属性问题
- 一个关于TComboBox控件的没有OnMouseDown事件的问题,怎么办??? 急。。。在线等待
- Tform的undock事件的一个小问题(在线)
- 第四节 谢谢兄弟们支持 看完的兄弟另开帖子给分 在给100?希望斑竹原谅
- Delphi中的QuickReport应用难题,高手们请看
- 請教各位如何在已知的字串中獲取字串??
- 这个问题怎么解决,急,在线等
这种方式类似于使用VB的二进制方式,你要先创建一个CFile对像,并在构造函数中传递两个参数:文件名(带路径),文件操作方式(如,读取,写入,创建新文件等等)。然后,用Seek函数定位到需读写的文件地址,再用Read或者Write读写文件。在此需注意的是,CFile类的文件地址是从0开始的,这与VB不同。以下是例子代码:double dblBuffer;
CFile filTest( "C:\data.dat", Cfile::modeCreate | Cfile::modeReadWrite | Cfile::shareDenyNone );
filTest.Seek( 0, Cfile::begin);
filTest.Read( & dblBuffer, 8);
dblBuffer = 1.003;
filTest.Write( & dblBuffer, 8);
filTest.Close();CFile对象经过一次文件读写操作之后,文件指针会定位到最近一次操作的未尾,如上代码,Write函数将dblBuffer写入的地址是8—15
F: File of Byte;
s,s1: Byte;
begin
AssignFIle(F,'C:\aa.dat');
Reset(F);
read(F,s);
s1 := s shr 1; //这里做你要的操作
CloseFile(F);
end;
fileHandle : TFileStream;
buf : array [0..MAX_LEN] of byte;
len : longint;
begin
if openDialog.Execute then
begin
fileHandle := TFileStream.Create (openDialog.FileName,fmOpenRead);
len := fileHandle.Read (buf,MAX_LEN);
...
fileHandle.Free ();
end;
其中len为所读到的字节数。