Mta123456 发表于 2023-11-26 09:23:09

C++运行出现乱码

十万火急!!
初学C++,遇到了一下问题:
这是代码:
这是VS Code 里运行的结果,但是无法输入:

然后这是用exe运行的结果,直接乱码:

哪位大佬能帮忙?

FishC_GPT 发表于 2023-11-26 09:24:00

可能是编码问题导致的乱码。在C++中,字符默认是使用ASCII编码的,如果你的代码中包含了其他编码方式的字符(比如UTF-8),那么在输出时就会出现乱码。

解决办法可以尝试以下两种方法:

1. 使用宽字符类型:将字符串定义为wchar_t类型,使用wcout进行输出。示例代码如下:

#include <iostream>

int main() {
    std::wstring str = L"你好世界";
    std::wcout << str << std::endl;
    return 0;
}

2. 设置终端编码:有些终端默认使用的编码方式可能不是UTF-8,在输出前将终端编码设置为UTF-8即可。示例代码如下:

#include <iostream>
#include <locale>

int main() {
    std::locale::global(std::locale("en_US.utf8"));
    std::cout << "你好世界" << std::endl;
    return 0;
}

希望以上方法能够解决你的问题。如果还有其他疑问,请随时提问。

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。

isdkz 发表于 2023-11-26 09:26:46

点击vscode右下角的utf-8,之后将它另存为gbk编码就不会乱码了

歌者文明清理员 发表于 2023-11-26 11:44:49

页: [1]
查看完整版本: C++运行出现乱码