21xrx.com
2025-03-26 07:46:05 Wednesday
文章检索 我的文章 写文章
如何在C++中输入和显示中文
2023-06-23 07:54:49 深夜i     8     0
C++ 中文输入 中文显示

在C++编程中,有时候需要输入和显示中文字符,但由于其它编程语言不同,C++默认情况下是不支持中文字符的。不过,我们仍然可以通过一些方法来实现在C++中输入和显示中文字符。下面将介绍在C++中输入和显示中文字符的方法。

一、输入中文字符

在C++中输入中文字符有两种方法,一个是使用wchar_t类型,另一个是使用字符串类型。下面将分别介绍这两种方法。

1.使用wchar_t类型

在C++中,wchar_t类型代表宽字符类型,宽字符类型可以用来存储任意Unicode字符,包括中文字符。我们可以使用wcin和wcout来代替标准输入输出流cin和cout。

例如,下面的代码演示了如何使用wchar_t类型来输入和显示中文字符:

#include <iostream>
using namespace std;
int main()
  wchar_t ch;
  wcout << L"请输入中文字符:";
  wcin >> ch;
  wcout << L"你输入的中文字符是:" << ch << endl;
  return 0;

在上面的代码中,我们使用了L前缀来表示字符串是宽字符类型,使用wcout和wcin来进行输入输出操作。注意,使用宽字符类型时需要加上L前缀,否则编译会出错。

2.使用字符串类型

另一种方法是使用字符串类型,我们可以使用string类型代表字符串类型,不过需要在输入输出操作前设置中文环境。

例如,下面的代码演示了如何使用字符串类型来输入和显示中文字符:

#include <iostream>
#include <Windows.h>
#include <string>
using namespace std;
int main()
{
  SetConsoleOutputCP(65001); // 设置控制台为UTF-8编码
  string str;
  cout << "请输入中文字符:";
  getline(cin, str);
  cout << "你输入的中文字符是:" << str << endl;
  return 0;
}

在上面的代码中,我们使用了Windows.h头文件中的SetConsoleOutputCP函数来设置控制台为UTF-8编码,然后使用了getline函数来获取字符串类型输入。

二、显示中文字符

在C++中显示中文字符同样有两种方法,一个是使用ASCII码,另一个是输出UTF-8编码。

1.使用ASCII码

在C++中,每个字符都有一个对应的ASCII码,在输出中文字符时,我们只需要使用对应的ASCII码即可。例如,要输出“你好”两个字,可以使用下面的代码:

#include <iostream>
using namespace std;
int main()
{
  cout << char(228) << char(189) << char(160) << char(229) << char(165) << char(189) << endl;
  return 0;
}

在上面的代码中,我们使用了“你”的ASCII码对应的数字宽字符类型232和191和160,和“好”的ASCII码对应的数字宽字符类型229和165和189。

2.输出UTF-8编码

我们在输入中文字符时使用了UTF-8编码,而且大多数C++程序都是使用UTF-8编码的。为了输出中文字符,我们可以使用Windows.h头文件中的SetConsoleOutputCP函数来设置控制台为UTF-8编码,然后就可以使用cout来输出中文字符了。

例如,下面的代码演示了如何输出中文字符:

#include <iostream>
#include <Windows.h>
using namespace std;
int main()
{
  SetConsoleOutputCP(65001); // 设置控制台为UTF-8编码
  cout << "你好!" << endl;
  return 0;
}

在上面的代码中,我们使用了Windows.h头文件中的SetConsoleOutputCP函数来设置控制台为UTF-8编码,然后就可以使用cout来输出中文字符了。

总结

在C++中输入和显示中文字符可以通过不同的方法来实现,我们可以使用wchar_t类型或字符串类型来输入中文字符,并使用ASCII码或UTF-8编码来输出中文字符。

  
  

评论区

请求出错了