Главная | Случайная
Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Потоки. Стандартные потоки ввода-вывода




Сначала требуется описать специальную "файловую переменную", далее установить соответствие между ней и файлом на диске, открыть файл (для чтения, записи, дозаписи и т.п.), поработать с файлом и закрыть его. Как обычно говорят, в Си используется "потоковый" ввод-вывод. Вы, возможно, будете удивлены, но в Паскале тоже используется потоковый ввод-вывод, но в книгах по Паскалю внимания самому этому термину уделяется гораздо меньше. Если не вдаваться в тонкости реализации языка, то поток - это на самом деле та самая переменная, которая используется для связи с файлом (более точно с файлом или устройством). Имеется и несколько предопределенных потоков (предопределенных файловых переменных), связанных со стандартными устройствами. Так, поток stdin изначально связан со стандартным устройством ввода (обычно клавиатурой), а поток stdout со стандартным устройством вывода (обычно терминалом). Имеется также поток stderr для вывода сообщений об ошибках. Он также изначально связан со стандартным устройством вывода (терминалом). Чтобы не сложилось впечатление, что механизм потокового ввода-вывода является исключительно особенностью Си, ниже приведены практически эквивалентные примеры на Си и Паскале.

Вот пример на Паскале, демонстрирующий, что в Паскале также имеется стандартный поток вывода output, изначально связанный с терминалом: writein (output, 'Привет, Мир!')

Аналогичный пример на Си будет выглядеть несколько иначе. Дело в том, что ряд функций вывода (например, printf) всегда работает именно со стандартным устройством вывода. Для работы с потоками, отличными от стандартных, имеются другие функции. (В данном случае мы все равно используем стандартный поток, но задать его хотим не "по умолчанию", а явно.) Поэтому вместо printf надо использовать функцию fprintf, первым параметром которой является поток. пример:

#include <stdio.h>

void main(void)

{ fprintf(stdout, "Привет, Мир!");}




Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2019 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных