Не так-то просто начать не с функции calc_hash - ведь она используется для поиска по таблицам объектов и функций.
Немножко повозился с консолью терминала. Новый алгоритм работы в терминале потребовал изменить логику потоков. Которая получается отличной от концепции терминала в языке C.
В C мы имеем три потока:
- поток ввода,
- поток вывода,
- поток вывода сообщений об ошибках.
Новый алгоритм предлагает четыре потока:
- поток ввода команд,
- поток ввода текста, выводимого в поток вывода,
- поток вывода текста,
- поток вывода сообщений об ошибках.
Вроде бы я составил алгоритм работы при вводе текста и команд из консоли и выводе текста в консоль, но теперь нужно начать выводить текст в файл. Так что не уверен, не придётся ли написанный код править ещё.
Теперь надо сделать функции открытия и закрытия файла для вывода текста. И команд в том числе.
Вижу себе это так:
text_out_file myfile = "~/my_texts/text01.txt" // Задаём имя файла
myfile rewrite // Открываем файл для перезаписи данных
// Или append - чтобы открыть файл для добавления данных
out_stream = myfile // Делаем myfile потоком вывода
myfile close // Закрываем файл (потоком вывода снова становится cout
Значит нужно сделать:
- таблицу объектов,
- объект типа text_out_file
- объект out_stream.
Насчёт объекта out_stream я пока не уверен, ведь это имя свойства консоли. Наверное правильнее сделать объект console, и обращаться к нему явно. Но это нужно придумать, как пользователь будет управлять консолями ввода-вывода.
Неявно консоль создаётся при запуске программы или при выполнении команды exec. Но правильно ли это?
Пока не хочу забегать вперёд.
Комментариев нет:
Отправить комментарий