怎么将一个文本文件读到一个string中

snowrain 2003-02-27 12:49:23
怎么将一个文本文件读到一个string中,
我用的是
str:string;
F:TextFile;

AssignFile(F,filename);
Reset(F);
while Not Eof(F) do
Readln(F,str);
CloseFile(F);
但是str始终是空的,请教各位朋友,有什么办法可以将一个文本文件读到一个string中
另外是否每读一行,str会被重写一次,怎样可以使str每次在最尾处追加(类似控制文件指针)
谢谢。

...全文
37 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ahjoe 2003-02-28
  • 打赏
  • 举报
回复
首先谢谢你的回答。
用Tstringlist会不会多引入回车换行符?这倒是个问题,我没试过。
有下面的方法不会引入多回车。
var
s: string:
fm: TFileStream;
begin
fm := TFileStream.Create('abcd.txt', fmOpenRead);
SetLength(s, fm.Size);
fm.Read(s[1], fm.Size);
fm.Free();
end;
hjb8000 2003-02-28
  • 打赏
  • 举报
回复
每读一行,str会被重写一次
anux 2003-02-27
  • 打赏
  • 举报
回复
老大,Readln(F,str)一次只读一行,你每循环一次str里面都是刚读进来,原的东西清掉了,可能刚好你的文件最后行只有一个回车,这样读的东西都是空了的,楼上的已经写的很清楚怎么做了。
BlueTrees 2003-02-27
  • 打赏
  • 举报
回复
str,S:string;
F:TextFile;

AssignFile(F,filename);
Reset(F);
while Not Eof(F) do
begin
Readln(F,S);
Str;=Str+#$A#$D+S;
end;
CloseFile(F);
klyh 2003-02-27
  • 打赏
  • 举报
回复
Str:=TStringList.Create
Str.LoadFromFile(Path(路径)+'a.Txt')
snowrain 2003-02-27
  • 打赏
  • 举报
回复
to vsice:
首先谢谢你的回答。
用Tstringlist会不会多引入回车换行符?
vsice 2003-02-27
  • 打赏
  • 举报
回复
memo1.text:='';
memo1.lines.LoadFromFile('文件名');
string1:=memo1.text;
qiume 2003-02-27
  • 打赏
  • 举报
回复
接帖啦
snowrain 2003-02-27
  • 打赏
  • 举报
回复
除了用TStringList外,读文件能否一次性读到一个string中?BlockRead行不行?
Linux2001 2003-02-27
  • 打赏
  • 举报
回复
楼上和楼上的楼上说的很清楚了,使用楼上的楼上的方法就可以了

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧