我正在尝试向文件中写入内容,但是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.
答案 0 :(得分:1)
在没有objfpc
的{{1}}模式下,我猜想{$H+}
是固定大小的Turbo Pascal样式row.description
。它的长度为255个字符,这可能就是为什么要获得所有空白的原因。
而是将输出文件写为文本文件:
ShortString
和:
var
f: Text;
g: Text;
这应该产生如下文本输出:
Writeln(g, row.title, ';', row.description);
等