Я пишу программу, которая должна работать с символами ↓
, →
и ¬
. У меня проблемы с чтением и печатью символов. Это отлично работает:
#include <iostream>
#include <string>
#include <io.h>
#include <fcntl.h>
using namespace std;
int main()
{
_setmode(_fileno(stdout), _O_U16TEXT);
wstring func = L"x→y";
wcout << func;
}
Хотя это не так:
#include <iostream>
#include <string>
#include <io.h>
#include <fcntl.h>
using namespace std;
int main()
{
_setmode(_fileno(stdout), _O_U16TEXT);
wstring func;
wcin >> func;
wcout << func;
}
Существуют разные проблемы для разных входов. Например, для ввода x↓y
вывод будет x[?]y
, и если строка содержит →
, то мне все равно нужно что-то ввести после нажатия клавиши ввода по какой-то причине, а затем все после →
в первой строке отбрасывается. Итак, для входа
x→y
stuff
на выходе будет x[?]stuff
. Было бы неплохо понять, почему происходит странная вещь с →
, и / или получить какое-то решение по поддержанию ввода и вывода. Я использую Windows 10.