Antonov
Jul 16 2015, 14:25
Здравствуйте.
Может кто знает, а как правильно пользоваться iostream и сout в IAR?
Если более точно, надо перенаправить вывод в отладочную консоль IAR (terminal I/O). Нужно использовать именно cout << (код чужой и его много).
Может, кончено, вопрос совсем глупый, но в C++ я не очень, так что извиняюсь если что.
Забыл - компилятор под ARM, если это имеет значение.
Заранее благодарю за все советы.
neiver
Jul 16 2015, 16:19
Можно так-же как и printf перенаправить, переопределить функцию низкоуровневого вывода:
Код
size_t __write(int handle, const unsigned char * buffer, size_t size)
А можно средствами C++ - реализовать свой std::streambuf и передать его в cout.
Antonov
Jul 17 2015, 07:05
Цитата(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 - может у вас есть небольшой примерчик?
neiver
Jul 17 2015, 12:04
Первые ссылки из гугла:
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);