C++ wcout

wcout 与 cout 的区别

cout 使用 char(窄字符)作为字符类型。它可以用于 ASCII 和 ANSI 字符。

为了国际化,我们需要 Unicode 字符串,而 Unicode 字符串不适合 charwcout 使用 wchar_t(宽字符),可用于 Unicode 字符。

wcout 声明

extern wostream wcout;

它定义在 <iostream> 头文件中。

wcout 对象在首次构造 ios_base::Init 类型对象时或之前被初始化。在 wcout 对象构造完成后,它会与 wcin 绑定,这意味着对 wcin 的任何输入操作都会执行 wcout.flush()

wcout 中的“wc”代表“wide character”(宽字符),“out”表示“output”(输出),因此 wcout 的意思是“宽字符输出”。

wcout 对象与插入运算符(<<)一起使用,以显示字符流。通用语法是

wcout << varName;

wcout << "Some String";

提取运算符可以与 变量字符串 和操纵符(如 endl)组合使用,可以不止一次。

wcout << var1 << "Some String" << var2 << endl;

wcout 对象还可以与其他成员函数一起使用,如 put()write() 等。一些常用的成员函数是

  • wcout.put(wchar_t &ch):显示 ch 中存储的宽字符。
  • wcout.write(wchar_t *str, int n):显示从 str 读取的前 n 个字符。
  • wcout.setf(option):设置给定选项。常用的选项有 left、right、scientific、fixed 等。
  • wcout.unsetf(option):取消设置给定选项。
  • wcout.precision(int n):在显示浮点值时将小数精度设置为 n。等同于 wcout << setprecision(n)

示例 1:带插入运算符的 wcout

#include <iostream>

using namespace std;

int main()
{
	int x, y;
	wchar_t str[20];
	wcout << L"Enter 2 integers:";
	wcin >> x >> y;
	wcout << L"Sum = " << (x+y) << endl;
	
	wcout << L"Enter a string:";
	wcin >> str;
	wcout << "You entered " << str;
	return 0;
}

运行程序时,可能的输出是

Enter 2 integers:4 9
Sum = 13
Enter a string:today
You entered today

示例 2:带成员函数的 wcout

#include <iostream>

using namespace std;

int main()
{
	wchar_t str[] = L"Learn C++ by examples";
	wchar_t ch = 'x';
	
	wcout.write(str,9);
	wcout << endl;
	wcout.put(ch);
	
	return 0;
}

运行程序后,输出将是

Learn C++
x

另请阅读

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战