Я не понимаю, почему "a" не печатается при выполнении следующего кода:
#include <iostream>
#include <windows.h>
int main()
{
SetConsoleOutputCP(CP_UTF8);
setvbuf(stdout, nullptr, _IOFBF, 100);
std::cout << "‾";
std::cout << std::endl;
std::cout << "a";
return 0;
}
Примечание: Я изменил шрифт в консоли Windows на "«Консолас» для правильного отображения символа подчеркивания.Моя версия Windows - Windows 7 Enterprise (Service Pack 1).
Я подумал, что поведение должно быть таким же, как в следующем коде, который правильно печатает «a»:
#include <iostream>
#include <windows.h>
int main()
{
SetConsoleOutputCP(CP_UTF8);
setvbuf(stdout, nullptr, _IOFBF, 100);
std::cout << "‾\n";
fflush(stdout);
std::cout << "a";
return 0;
}
Выводы, которые я получаю, соответственно:
Командная строка того, как мой первый пример компилируется в коде:: Блоки 16.01: