C. Тема 3. Раздел 1
.pdfДескриптор потока: 4
Название потока: stdprn
Символическая константа в POSIX: отсутствует
Типовое назначение потока: вывод данных, обычно текстовых, на устройство печати (принтер)
Данный поток вывода использовался только в DOS
Язык Си
stdin
stdout
stderr
Java
System.in
System.out
System.err
.NET
System.Console.In
System.Console.Out
System.Console.Error
Часть 2
Перенаправление (redirection) – возможность, присущая многим командным оболочкам (command shells), позволяющая перенаправлять стандартные потоки ввода-вывода в определённое пользователем устройство или файл
Перенаправление потока ввода
Program.exe <input_file.txt
Перенаправление потока вывода
Program.exe >output_file.txt
Одновременное перенаправление потока
ввода и потока вывода
Program.exe <input_file.txt >output_file.txt
Конвейер (piping) – перенаправление потока вывода одной программы в поток ввода другой программы
Пример
Program1.exe | Program2.exe
Обычным перенаправлением нельзя перенаправить стандартный поток ошибок
Для решения этой задачи необходимо указать номер дескриптора для перенаправления соответствующего ему потока ввода-вывода
Program.exe 2>error_file.txt
Перенаправление потока ошибок в поток вывода
Program.exe 2>&1
Используется функция freopen стандартной библиотеки stdio.h
Перенаправление стандартного потока
вывода
freopen( "out_file.txt", "w", stdout );
Используются функции fprintf и fscanf стандартной библиотеки stdio.h
Пример
fscanf( stdin, "%d", &i );
fprintf( stdout, "Int value: %d\n", i ); fprintf( stderr, "Error occurred\n" );
Спасибо за внимание!