各位大佬,为什么VS2019控制台不能输出键盘键入的汉字呀,vscode也是这种情况,该怎么处理呢?

qq_45633677 2020-10-18 03:12:24
各位大佬,为什么VS2019控制台不能输出键盘键入的汉字呀,vscode也是这种情况,该怎么处理呢?
...全文
1616 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
cainiao10086 2022-05-12
  • 打赏
  • 举报
回复

我也有这个问题
这个string inputString= Encoding.UTF8.GetString(Encoding.UTF8.GetBytes(encodeBytes))也试过没用;
最后在
win10区域——管理——更改区域设置里面有个 Beta版:使用Unicode UTF-8提供全球语言支持的栏位;把前面的勾去掉重启一下就好了。

qq_43590081 2021-01-23
  • 打赏
  • 举报
回复
怎么解决啊这个问题
Y1nhl 2020-12-02
  • 打赏
  • 举报
回复
我也遇到了 有点劝退啊
二进制脑袋 2020-12-02
  • 打赏
  • 举报
回复
运行cmd,输入命令:chcp,看看活动页代码是否是936(中文GBK)。估计你的系统设置活动页代码是437了,你运行chcp 936就可以显示中文了。另外,cmd是不支持Unicode UTF-16,即wprintf C函数,wcout C++输出Unicode中文是不能正常显示的,参见:https://blog.csdn.net/binaryhead/article/details/109993588
qq_45633677 2020-11-30
  • 打赏
  • 举报
回复
引用 14 楼 Eleven 的回复:
把你电脑的区域语言换成中文试试
改了 还是不行呢
Eleven 2020-11-30
  • 打赏
  • 举报
回复
把你电脑的区域语言换成中文试试
qq_45633677 2020-11-30
  • 打赏
  • 举报
回复
引用 11 楼 luoqiushun 的回复:
我也遇到同样的问题了,博主,这个问题怎么解决的呢?
暂时还没解决呢 没大佬回复我
@Roman 2020-11-29
  • 打赏
  • 举报
回复
我也遇到同样的问题了,博主,这个问题怎么解决的呢?
qq_45633677 2020-11-11
  • 打赏
  • 举报
回复
我在别的电脑上都能显示 在我电脑上就不行
尴尬的小坏蛋 2020-11-09
  • 打赏
  • 举报
回复
我也遇到同样的问题了,求助大神解决
maguangzhi 2020-11-09
  • 打赏
  • 举报
回复
参见《C++程序设计精要教程》P25, 首先应#include<locale>, 使用名字空间std; 然后调用setlocale( ),最后才是wcout
qq_45633677 2020-10-19
  • 打赏
  • 举报
回复
引用 1 楼 真相重于对错 的回复:
你的代码????
贴了 大佬帮看一下
qq_45633677 2020-10-19
  • 打赏
  • 举报
回复
引用 3 楼 chxchxkkk 的回复:
估计是你的系统的原因。
大佬知道怎么解决吗?
qq_45633677 2020-10-19
  • 打赏
  • 举报
回复
代码没问题呀,在别的电脑都可以正常显示 我觉得应该是系统问题,哪位大佬知道怎么解决吗 #include <iostream> #include <string> using namespace std; class Student { public: //属性 string m_Name; string m_ID; //行为 void Scanf() { string name; cout << "接收键盘输入:" << endl; cout << "请输入学生姓名:" << endl; cin >> name; m_Name = name; string ID; cout << "请输入学生学号:" << endl; cin >> ID; m_ID = ID; } void Printf() { cout << "输出:" << endl; cout << "学生姓名:"<<m_Name << endl; cout << "学生学号:" << m_ID << endl; } }; int main() { Student s1; s1.Scanf(); s1.Printf(); system("pause"); return 0; }
赵4老师 2020-10-19
  • 打赏
  • 举报
回复
仅供参考:
#pragma warning(disable:4786)
#include <iostream>
#include <string>
#include <map>
using namespace std;
int main () {
    wstring ws1,ws2;

    wcin.imbue(locale("chs"));
    wcout.imbue(locale("chs"));
    getline(wcin,ws1);
    getline(wcin,ws2);
    if (ws1.size()!=ws2.size()) {
        wcout<<ws1<<L" 和 "<<ws2<<L" 不对应"<<endl;
        return 1;
    }

    map<wchar_t,wchar_t> m1,m2;
    int n=ws1.size();

    for (int i=0;i<n;i++) {
        if (m1.find(ws1[i])==m1.end() && m2.find(ws2[i])==m2.end()) {
            m1[ws1[i]]=ws2[i];
            m2[ws2[i]]=ws1[i];
        } else {
            if (m1[ws1[i]]!=ws2[i] || m2[ws2[i]]!=ws1[i]) {
                wcout<<ws1<<L" 和 "<<ws2<<L" 不对应"<<endl;
                return 1;
            }
        }
    }
    wcout<<ws1<<L" 和 "<<ws2<<L" 对应"<<endl;
    return 0;
}
chxchxkkk 2020-10-18
  • 打赏
  • 举报
回复
估计是你的系统的原因。
院里有座山 2020-10-18
  • 打赏
  • 举报
回复
代码贴出来看看
真相重于对错 2020-10-18
  • 打赏
  • 举报
回复
你的代码????

65,185

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧