file - 在 FreePascal 中读取文件

标签 file pascal freepascal fpc

我有一个具有指定结构的文本文件,即(对于每一行):char、space、char、space、double value、endline。例如

q w 1.23
e r 4.56
t y 7.89

在 Free Pascal 中“提取”这些值的正确方法是什么?

最佳答案

FreePascal 在 SysUtils 中具有 SScanF 函数(如果从其他语言中你可能知道..)

我修改了 RRUZ 的例子来展示如何使用它。

uses SysUtils;

type
  TData=object
    Val1 ,
    Val2 : String;
    Val3 : Double;
  end;

procedure ProcessFile(aFileName:String);
var
  F     : Text;
  LData : TData;
  Line  : String;
begin
  DecimalSeparator:='.';
  AssignFile(F,aFileName);
  Reset(F);
  while not eof(F) do
  begin
    ReadLn(F,Line);
    SScanf(Line,'%s %s %f',[@LData.Val1,@LData.Val2,@LData.Val3]);

    //do something with the data
    WriteLn(LData.Val1);
    WriteLn(LData.Val2);
    WriteLn(LData.Val3);
  end;
end;

begin
  ProcessFile('C:\Bar\Foo\Data.txt');
  Writeln('Press Enter to exit');
  Readln;
end.

关于file - 在 FreePascal 中读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9831731/

相关文章:

c - 当某个进程打开文件时,unlink() 会做什么?

c# - 我如何按创建日期列出文件

java - 文件从未完全下载

将 C 数组记录转换为 Delphi

delphi - 为什么在一种情况下需要静态,而在另一种情况下不需要静态?

emacs - Emacs 有好的 Object Pascal 模式吗?

python - 如何使用 fileinput 编辑多个文件?

delphi - 指向同一个数组的指针数组

delphi - 重写 OnPaint 事件 TBCDProgressBar

java - 处理 JPEG 元数据的最佳库是什么?