UTF-8输入出现问题



我的简单代码在输出时没有日语字符的问题,但由于某种原因,它不能正确地接受输入,是不是缺少了什么?

int main()
{
_setmode(_fileno(stdout), _O_U16TEXT);
SetConsoleCP(CP_UTF8);
std::wstring s = L"こんにちは, 世界!nHello, World!";
std::wcout << s << endl;
std::wstring test;
getline(wcin, test);
std::wstring test2 = test;
std::wcout << test2 << endl;
std::wstring test3 = test2;
std::wcout << test3 << endl;
std::wcout << "Press ENTER to exit.";
std::wcout << "n";
cin.get();
return 0;
}

这段代码在Windows 10命令提示符下对我有效。

#include <fcntl.h>
#include <io.h>
#include <string>
#include <iostream>
using namespace std;
int main()
{
_setmode(_fileno(stdout), _O_WTEXT);  // or _O_U16TEXT, either work
_setmode(_fileno(stdin), _O_WTEXT);
wstring s = L"こんにちは, 世界!nHello, World!";
wcout << s << endl;
wstring test;
getline(wcin, test);
wcout << test << endl;
return 0;
}

输出:

C:>test
こんにちは, 世界!
Hello, World!
你好马克!                << input line
你好马克!

相关内容

  • 没有找到相关文章

最新更新