Unicode — wcout неправильно перезаписывает предыдущие строки с возвратом каретки

Для задания по графическому программированию учащиеся получают существующее приложение на C ++ с использованием DirectX11 и должны изменить определенные значения в данном шейдере. После завершения эти значения должны отображаться на экране консоли и обновляться сразу после их изменения. У меня были проблемы с тем, чтобы текст не отображался постоянно, но с помощью возврата каретки мне удалось заморозить вывод.

Однако при изменении значений текст не обновляется соответствующим образом. Используя точки останова, он четко показывает, что значения различны, и визуально изменения в шейдере явно заметны. Вот что мне нужно для вывода текста:

ПРИМЕЧАНИЕ. Мы используем wcout, поэтому это ЮНИКОД. Также состояния назначения мы ДОЛЖНЫ использовать wcout.

std::wstringstream values;
values << L"The Ambient Color Variables are: [" << m_AmbientColor.x << L" ; " << m_AmbientColor.y << L" ; " << m_AmbientColor.z << L"]" << endl;
values << L"The Diffuse Color Variables are: [" << m_DiffuseColor.x << L" ; " << m_DiffuseColor.y << L" ; " << m_DiffuseColor.z << L"]" << endl;
values << L"The Specular Color Variables are: [" << m_SpecularColor.x << L" ; " << m_SpecularColor.y << L" ; " << m_SpecularColor.z << L"]" << endl;
values << L"The Shininess is " << m_Shininess << endl;
values << L"The Light Direction Values are [" << m_LightDirection.x << L" ; " << m_LightDirection.y << L" ; " << m_LightDirection.z << L"]" <<endl;

wcout << values.str();
wcout.flush();
wcout << L'\u240D';

Переменные никогда не меняются на экране консоли. Он продолжает показывать те же значения инициализации.

Любая помощь будет принята с благодарностью.

Спасибо заранее.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector