Приветствую!
Столкнулся с такой проблемой: в ходе выполнения алгоритма мне нужно считать данные из файла, затем вывести данные на экран, считать с клавиатуры, и записать в файл, выглядит это примерно так:
...
assign(input,'input.txt'); reset(input);
assign(output,'output.txt');
read(var1);
close(input);
write('Vvedite nomer ');
read(var2);
var3:=var1+var2;
rewrite(output);
write(var3)
close(output);
write('Spasibo!');
...
Компилируется без ошибок, а при выполнении возвращает Exitcode 103: File not open.
Получается, что он стучится в файлы, которые я закрыл, после считывания, и я, думаю, что причина в том, что он не возвращается на стандартные потоки ввода-вывода.
Собс-но вопрос, как указать, что нужно использовать стандартные потоки?
Заранее спасибо)
Поиск по форуму не помог, прошу прощения, если проглядел решение.
Переход на стандартный поток
Модератор: Модераторы
-
fullmoon86
- незнакомец
- Сообщения: 1
- Зарегистрирован: 25.05.2015 09:31:31
fullmoon86 писал(а):Приветствую!
Столкнулся с такой проблемой: в ходе выполнения алгоритма мне нужно считать данные из файла, затем вывести данные на экран, считать с клавиатуры, и записать в файл, выглядит это примерно так:
...
assign(input,'input.txt'); reset(input);
assign(output,'output.txt');
read(var1);
close(input);
write('Vvedite nomer ');
read(var2);
var3:=var1+var2;
rewrite(output);
write(var3)
close(output);
write('Spasibo!');
...
Компилируется без ошибок, а при выполнении возвращает Exitcode 103: File not open.
Получается, что он стучится в файлы, которые я закрыл, после считывания, и я, думаю, что причина в том, что он не возвращается на стандартные потоки ввода-вывода.
Собс-но вопрос, как указать, что нужно использовать стандартные потоки?
Заранее спасибо)
Поиск по форуму не помог, прошу прощения, если проглядел решение.
Надо "переоткрыть" стандартные потоки, указав в качестве имени файла пустую строку. Например так
Код: Выделить всё
AssignFile(input, '');
Reset(input);
Закрывать стандартный поток не нужно.
Код: Выделить всё
CloseFile(output)