Проблема с чтением файла, зависание без вывода при запуске - PullRequest
0 голосов
/ 20 сентября 2019

Я пытаюсь создать программу, которая читает числа из файла, выводит их в вектор, а затем записывает их.Код компилируется хорошо, но при запуске он застревает с просто подсказкой, не выдавая никаких выходных данных.

Program 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 голосов
/ 21 сентября 2019

Перепишите процедуру следующим образом:

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 перед файлом говорит компилятору, что вы хотите прочитать содержимое этого файла, а не с клавиатуры.

...