关于pascal输入文件的问题

来源:百度知道 编辑:UC知道 时间:2024/06/27 07:39:48
有一个程序段如下:
var
cmd:string;

procedure abc;
var
x:string;
begin
assign(input,'abc.txt');
reset(input);
read(x);
close(input);
end;

begin
abc;
read(cmd);
end.

在这个程序段中,我的意图是先让程序从指定文件中读入数据,然后从程序界面即通过键盘输入读取指令。但是,我使用F7逐步跟踪时发现,完成了在文件的读入后,程序对键盘读入的语句执行了但没有从键盘读进任何东西(我的键盘什么都没有输入),然后就继续执行下面的语句。不过,如果先执行从键盘读入信息,再从文件读入,则可以成功。这个问题困扰了我很久,希望高手们能帮我解决。

编译平台:Free Pascal 2.0.2

你前面用了assign(input,'abc.txt')系统默认为用文件输入,把程序改为:
var
cmd:string;
fi:text;
procedure abc;
var
x:string;
begin
assign(fi,'abc.txt');
reset(fi);
read(fi,x);
close(input);
end;

begin
abc;
read(cmd);
end.
即可.

Fp就是这样,一旦你使用了文件操作后就不能用标准输入了。

你都close(input)了还怎么从键盘读入东西,要把input从新链接到键盘上来。
在read(cmd)前面要加上assign(input,'');reset(input);注意那是两个单引号。