Pascal将空格添加到键入的文件

时间:2018-09-15 18:32:11

标签: pascal

我正在尝试向文件中写入内容,但是pascal在每条记录的值之间添加了一堆空格,并且还将2条记录放在一行上。

第一个文件只是一个字符串列表。 第二个文件(我通过程序创建的文件)应具有标题和描述。

如何摆脱pascal添加的空白?

program Wiki;
  {$mode objfpc}

TYPE wiki=record
    title:string;
    description:string;

  end;
var
  f:text ;
  g:file of wiki ;
  row:wiki;
  fileName: string;
  oldFileName:string;

begin
  writeln('Old file name:');
  readln(oldFileName);
  ASSIGN(f,oldFileName);
  RESET(f);
  writeln('New file name:');
  readln(fileName);
  ASSIGN(g,fileName);
  REWRITE(g);

REPEAT
  Readln(f,row.title);
  writeln('give a description:');
  Writeln(row.title);
  Readln(row.description);
  Write(g,row)

until EOF(f);

  CLOSE(f);
  CLOSE(g);
  writeln;
  writeln('press enter to close.');
  readln();
end.

1 个答案:

答案 0 :(得分:1)

在没有objfpc的{​​{1}}模式下,我猜想{$H+}是固定大小的Turbo Pascal样式row.description。它的长度为255个字符,这可能就是为什么要获得所有空白的原因。

而是将输出文件写为文本文件:

ShortString

和:

var
  f: Text;
  g: Text;

这应该产生如下文本输出:

Writeln(g, row.title, ';', row.description);