文件填充问题
请问如何实现打开一个文件,然后把内容全部填充为0?
[解决办法]
- Delphi(Pascal) code
function FillZeroFile(IFileName:string):Boolean;var FS:TFileStream; Chr:Char; Size:Int64;begin Result := True; try FS:=TFileStream.Create(IFileName,fmOpenReadWrite); Chr:= #0; Size := FS.Size; FS.Free; DeleteFile(IFileName); FS:=TFileStream.Create(IFileName,fmCreate); while FS.Position < Size do begin FS.Write(Chr,SizeOf(Chr)); end; FS.Free; except Result := False; end;end;procedure TForm1.Button1Click(Sender: TObject);begin FillZeroFile('H:\test.exe')end;
[解决办法]
二楼的代码就可以实现你要的功能啊。
其实如果是你要避免恢复的话,无论填充什么字符都可以的。
你想要填充什么把程序里如下红色部分修改为你要的字符的ASC码就可以了。
FS:=TFileStream.Create(IFileName,fmOpenReadWrite);
Chr:= #0;
Size := FS.Size;