Перейти к содержанию
    

IAR C++ cout перенаправление в Terminal I/O

Здравствуйте.

 

Может кто знает, а как правильно пользоваться iostream и сout в IAR?

Если более точно, надо перенаправить вывод в отладочную консоль IAR (terminal I/O). Нужно использовать именно cout << (код чужой и его много).

Может, кончено, вопрос совсем глупый, но в C++ я не очень, так что извиняюсь если что.

 

Забыл - компилятор под ARM, если это имеет значение.

 

Заранее благодарю за все советы.

 

 

Изменено пользователем Antonov

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно так-же как и printf перенаправить, переопределить функцию низкоуровневого вывода:

size_t __write(int handle, const unsigned char * buffer, size_t size)

А можно средствами C++ - реализовать свой std::streambuf и передать его в cout.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно так-же как и printf перенаправить, переопределить функцию низкоуровневого вывода:

size_t __write(int handle, const unsigned char * buffer, size_t size)

А можно средствами C++ - реализовать свой std::streambuf и передать его в cout.

 

С __write вроде разобрался, а как с помощью std::streambuf - может у вас есть небольшой примерчик?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Первые ссылки из гугла:

https://artofcode.wordpress.com/2010/12/12/...m-stdstreambuf/

https://msdn.microsoft.com/en-us/library/aa...3(v=vs.60).aspx

Надо написать свой класс унаследованный от streambuf, в нем реализовать соответствующие функции вывода. Потом связать объект своего streambuf с потоком:

std::cout.rdbuf(&my_streambuf);

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...