var
newfile : TFileStream;
begin
newfile := TFileStream.Create('file.dat', fmcreate);
newfile.read(buf, count);
newfile.ReadBuffer(buf, count);
newfile.write(buf, count);
newfile.writeBuffer(buf, count);
// ... and so on
newfile.free;
end;
newfile : TFileStream;
begin
newfile := TFileStream.Create('file.dat', fmcreate);
newfile.read(buf, count);
newfile.ReadBuffer(buf, count);
newfile.write(buf, count);
newfile.writeBuffer(buf, count);
// ... and so on
newfile.free;
end;
rocedure DStreamData(FileName:String; StartPos,EndPos: Integer);
//StartPos: 从此开始“删除”信息,EndPos: 到此结束“删除”信息
//如果输入文件名与输出文件名相同,就等于把源文件的StartPos与EndPos之间的内容删除
var
Ori: TFileStream;
Tmp: TMemoryStream;
begin
try
Ori := TFileStream.Create(FileName, fmOpenRead);
Tmp := TMemoryStream.Create;
Tmp.CopyFrom(Ori, StartPos);
//Tmp从Ori拷贝数据,但在StartPos与EndPos之间不拷,因此形同删除了一段数据
Ori.Seek(EndPos,soFromBeginning);
Tmp.CopyFrom(Ori, Ori.Size-EndPos);
Tmp.SaveToFile(FileName); //在此设置输出文件名
finally
FreeAndNil(Ori);
FreeAndNil(Tmp);
end;
end;
你把PChar转换为Char类型再保存