c++ - wcout 无法在 Windows 中从 wcin 打印 wstring
问题描述
wcout
无法在 Windows 中打印wstring
。wcin
但在 Linux(WSL2 Ubuntu 20.04)中,它运行良好。
#include <iostream>
#include <fstream>
#include <string>
#include <locale>
using namespace std;
int main(int argv, char** argc)
{
locale mylocale("");
locale::global(mylocale);
wcout.imbue(mylocale);
wcin.imbue(mylocale);
wstring name;
wcout << L"너의 이름은?";
getline(wcin, name);
wcout << name << endl;
return 0;
}
以下是我的预期输出。
너의 이름은?김철수
김철수
但是,000
是打印出来的。
너의 이름은?김철수
000
或者只是空白
너의 이름은?김철수
有时'P','@'......
控制台Active code page: 65001
检查。
wcin
正确放入 wstring name
。
name.size()
显示我输入的文字数。
从文件中获取输入是可以的。
我使用D2coding字体。
解决方案
推荐阅读
- flutter - Flutter:如何在不实际导航的情况下更改以前的导航路线?
- google-apps-script - 如何搜索特定功能然后对其进行编辑?
- java - JSch 连接到远程主机,端口与另一个源发起者
- sql - SQL - 在两个带有连接的表之间使用 datediff
- mysql - 如何使用 WHERE 和子查询删除/更新多个条目?
- python - 长串命令python错误消息的子进程
- git - Git 文档中的错误?
- laravel-8 - 我想在 laravel 8 中使用一个表单和一个提交按钮提交两个操作
- python - 用于提供任何预测/对象检测的 Flask 应用程序
- unity3d - 我是 Unity3D 新手,遇到编译器错误