Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как перенаправить поток а IAR?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
scout
Кто - нибудь задавался этим вопросом? Собственно хочется приспособить класс ostream для форматированного выхода информации например в уарт.
zltigo
Цитата(scout @ Aug 2 2006, 15:12) *
Собственно хочется приспособить


Найдите в документации на компилятор раздел:
"Standard streams for input and output"
Там авторы компилятора озаботилтсь осветить этот вопрос.
scout
В доке на компилер описано как перенаправить вывод с помощью printf. А мне хотелось бы или перенаправить стандартный поток cout(что не хотелось бы, т.к он выводит данные на консоль, что очень удобно при отладке) или создать еще один обьект класса ostream и перегрузить оператор "<<" для всех типов данных. В обьявлении класса ostream оператор "<<" только обьявлены, т.е ничего не делает.

Так вот обьект то создать не проблема, а вот написать собственные функции перегрузки мне слабо.

Может у кого есть рабочий пример?
zltigo
Цитата(scout @ Aug 2 2006, 21:21) *
А мне хотелось бы или перенаправить стандартный поток cout

Он туда-же упирается, можете подменять.
Цитата
или создать еще один обьект класса ostream и перегрузить оператор "<<"

Обычно в эмбедерстве поступают проще. Но может у Вас необычный случай?
И для чего этот использовать?
scout
Цитата
Он туда-же упирается, можете подменять.


Ну подменю я эти функции, а если поток надо коммутировать скажем на уарт и индикатор, то как компилер поймет какую функцию ему использовать. Неудобно получается...

Если создавать свои потоки, как обьекты класса ostream, то на мой взгляд получается удобнее.

Цитата
Обычно в эмбедерстве поступают проще. Но может у Вас необычный случай?
И для чего этот использовать?


Для меня привычней и удобней использовать ввод/вывод с помощью потоков в стиле С++. Не вижу причин изменять привычкам smile.gif
zltigo
Цитата(scout @ Aug 2 2006, 22:33) *
Ну подменю я эти функции, а если поток надо коммутировать скажем на уарт и индикатор

"Правильные" на мой взгляд варианты изложены:

http://electronix.ru/forum/index.php?showt...&hl=sprintf

Цитата
Для меня привычней и удобней использовать ввод/вывод с помощью потоков в стиле С++.

Тогда все таки _прочитайте_ рекомендованный ранее раздел документации и напишите
свою __write(), где добавите свой handler для LCD.

Цитата
Не вижу причин изменять привычкам smile.gif

С "больших машин" пришли? Возможно привычки стоит подвергнуть ревизии....
scout
Цитата
"Правильные" на мой взгляд варианты изложены:


Ваши взляды я помню smile.gif

Zltigo спасибо вам за ответы.

А я ухожу ковырять это дело дальше.
zltigo
Цитата(scout @ Aug 3 2006, 08:06) *
Ваши взляды я помню smile.gif

Извините :-( не обратил внимание, что уже общались и задавал лишние вопросы :-(.
scout
Все ОК.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.