掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
テキストファイル、末尾の改行を取り除く方法 (ID:43745)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
お世話になっております。 ファイルの中の末尾 #13#10 を取り除きたくて苦戦しています。 TStringListのSaveToFileは必ず最後に改行が入ってしまうのでダメでした。 Streamを使って改行を取り除こうとしたのですが、大きなファイルを扱うと 「メモリが足りません」と表示してしまいます。 何か方法、ヒントがありましたら、助言頂けますでしょうか? 大きなファイルだと、メモリが足りなくなる場合のソースです。 var SF,DF:TFileStream; buf:PChar; sz:integer; begin SF:=TFileStream.Create(Edit1.Text,fmOpenRead); sz:=SF.Size; GetMem(buf,sz+1); SF.ReadBuffer(buf^,sz); buf[sz]:=#0; SF.Free; if (buf[sz-1] = #10) AND (buf[sz-2] = #13) then begin buf[sz-2] := #0; sz := sz -2; end; DF:=TFileStream.Create(Edit1.Text+'2' ,fmCreate); DF.WriteBuffer(buf^,sz); FreeMem(buf); DF.Free; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.