Можно ли сделать отдельный вывод в Microsoft Visual Studio 2021?
Можно ли, и если да, то как, сделать отдельный вывод в консоли Microsoft Visual Studio 2021? То есть, чтобы программа не выводила данные сразу после их ввода, так как это мешает разглядеть ответ.
Программист управляет двумя потоками вывода текста. STDOUT и STDERR через функции printf(...) или через расширенную версию с указанием файлового дескриптора вывода fprintf( stderr, ....).
При запуске в консоли вы можете указывать что например вывод ошибок идет в err.log и стандартный вывод в std.log application.exe > std.log 2>err
(в данном случае двойка - это номер дескриптора STDERR. Есть альтерантивный синтаксис когда для STDOUT
мы указываем единичку "1>std.log" но ее просто опускают поэтому синтаксис так странно отличается)
Как поступает с обоими потоками среда - я не помню. Скорее всего она их объединяет. Поэтому запускайте в консоли.
Это вобщем-то архитектура любого процесса Unix и Windows.
Присоединяюсь к ответу и добавлю:
Не стоит ориентироваться на "консоль" MSVC еще и потому, что в реальной консоли могут быть другие настройки (например текущей кодовой страницы, шрифта и т.п.) и будет не приятно, если в консоли MSVC у вас все красиво, а в реальной "кракозябры" полезут.
Консолью надо пользоваться в крайних случаях. Если у вас приложение - консольное и это была изначально идея. Например как работают утилиты cat/grep/find e.t.c.
Консоль также может использоваться операционкой для BSOD/kernel panic чтоб вывести туда инфу значимую для анализа аварий.
А в оконном надо использовать библиотеки логгирования и писать в файлы.