[テキストファイルを1文字づつ読み書きする]
テキストファイルを1文字づつ読み書きします。
【ソースコード】 [tips0053.pas]
program tips0053;
{$APPTYPE CONSOLE}
uses SysUtils, Classes, MMSystem;
var
SF,DF:TFileStream;
b:integer;
t:Char;
tm:int64;
begin
tm:=timeGettime;
WriteLn('◆FileStreamでReadとWriteを使用し、1バイト単位で書込み');
SF:=TFileStream.Create('tips0053_input.txt',fmOpenRead);
DF:=TFileStream.Create('tips0053_output.txt',fmCreate);
while true do
begin
b:=SF.Read(t,sizeof(t));
if b=0 then break;
DF.Write(t,sizeof(t));
end;
WriteLn('入力サイズ:',inttostr(SF.Size),'バイト');
WriteLn('出力サイズ:',inttostr(DF.Size),'バイト');
SF.Free;
DF.Free;
WriteLn('処理時間:',inttostr(timeGettime-tm),'ms');
end.
【コンパイル&実行】 [tips0053.bat]
dcc32 tips0053.pas
tips0053.exe > tips0053.txt
pause
【入力】 [tips0053_input.txt]
abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 1234567890
【出力】 [tips0053_output.txt]
abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 1234567890
【実行結果】 [tips0053.txt]
◆FileStreamでReadとWriteを使用し、1バイト単位で書込み
入力サイズ:64バイト
出力サイズ:64バイト
処理時間:3ms
Copyright c 2009, ohishi,All rights reserved.