文件读取问题,运行时卡住而无输出

时间:2019-09-20 18:34:46

标签: pascal

我正在尝试编写一个程序,该程序从文件中读取数字,将其输出到矢量中,然后写入它们。该代码可以很好地编译,但是在运行时,它仅停留在提示下而没有提供任何输出。

程序LectorDeEnteros;

type 
    Arreglo = array [1..30] of integer;
var  
    //Arch:text;
    Prom:byte;
    i:integer;
    ArregloA:Arreglo;

Procedure CargadorVectorialdeArchivo (var ArregloA:Arreglo);
    var 
        Arch:text;
        i:integer;

Begin 
    assign (Arch,'Numeros.txt');
    reset (Arch);   

    i := 1;
    while not eof(Arch) do
        Write(Arch);Read(ArregloA[i]);
        i := i + 1;
End;

Begin 

    CargadorVectorialdeArchivo(ArregloA);


    for i := 1 to 14 do 
        WriteLn(ArregloA[i]:3);

End.

正如我所说,没有错误消息,只是提示,没有输出。我必须按CTRL-Z才能使其脱离此“循环”。预期的输出将是数组的编号,每行一个。

1 个答案:

答案 0 :(得分:0)

将过程重写为:

Procedure CargadorVectorialdeArchivo (var ArregloA:Arreglo);
    var 
        Arch:text;
        i:integer;

Begin 
    assign (Arch,'Numeros.txt');
    reset (Arch);   

    i := 1;
    while not eof(Arch) do
       begin 
        Read(Arch,ArregloA[i]); 
        i := i + 1;
       end;
End;

在文件前放置Arch会告诉编译器您要从该文件而不是从键盘读取内容。