реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> IAR C++ cout перенаправление в Terminal I/O, Вопрос
Antonov
сообщение Jul 16 2015, 14:25
Сообщение #1





Группа: Участник
Сообщений: 10
Регистрация: 9-02-15
Пользователь №: 85 032



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

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

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

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



Сообщение отредактировал Antonov - Jul 16 2015, 14:26
Go to the top of the page
 
+Quote Post
neiver
сообщение Jul 16 2015, 16:19
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 214
Регистрация: 22-03-10
Из: Саратов
Пользователь №: 56 123



Можно так-же как и printf перенаправить, переопределить функцию низкоуровневого вывода:
Код
size_t __write(int handle, const unsigned char * buffer, size_t size)

А можно средствами C++ - реализовать свой std::streambuf и передать его в cout.
Go to the top of the page
 
+Quote Post
Antonov
сообщение Jul 17 2015, 07:05
Сообщение #3





Группа: Участник
Сообщений: 10
Регистрация: 9-02-15
Пользователь №: 85 032



Цитата(neiver @ Jul 16 2015, 19:19) *
Можно так-же как и printf перенаправить, переопределить функцию низкоуровневого вывода:
Код
size_t __write(int handle, const unsigned char * buffer, size_t size)

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


С __write вроде разобрался, а как с помощью std::streambuf - может у вас есть небольшой примерчик?
Go to the top of the page
 
+Quote Post
neiver
сообщение Jul 17 2015, 12:04
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 214
Регистрация: 22-03-10
Из: Саратов
Пользователь №: 56 123



Первые ссылки из гугла:
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);
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 23:05
Рейтинг@Mail.ru


Страница сгенерированна за 0.01558 секунд с 7
ELECTRONIX ©2004-2016