1010101001000100110100111
@1010101001000100110100111

Как вывести данные в поток STDERR из программы на Turbo Pascal 7.0/7.1?

В Турбо Паскале, программе доступно два стандартных потока: <STDIN> в перемнной типа text Input и <STDOUT> в Output.



Пожалуйста, подскажите, как штатными средствами языка (можно даже с костылями, например, ассемблерными вставками, прерываниями, вызовами функций DOS и BIOS) открыть для записи поток ошибок <STDERR>.
  • Вопрос задан
  • 4319 просмотров
Пригласить эксперта
Ответы на вопрос 5
@wwi
MS Dos, классика

echo «Error» 2> errorfile.log

файл № 2
Ответ написан
Комментировать
alexhemp
@alexhemp
Турбо-паскаль давно не брал в руки, лет 15 :)

Попробуйте что-то вроде такого:

program Demo;
uses
  Dos;
var
  StdErr: Text;
begin
  Assign(StdErr, '');
  Rewrite(StdErr);
  TextRec(StdErr).Handle:=2;

  Writeln('Standard output');
  Writeln(StdErr, 'Standard error');

  Close(StdErr);
end.



Ну и в unit, если заработает
Ответ написан
Комментировать
alexhemp
@alexhemp
А еще посмотрите в исходники модуля Dos (вроде Turbo Pascal должен быть и исходниками стандартных модулей) — может там уже есть переменная вроде ErrOutput
Ответ написан
Комментировать
alexhemp
@alexhemp
Нашел исходники Borland Pascal 7.0 — там Input и Output определены в system.pas и ничего с stderr нет :(
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы