当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ wctob()用法及代码示例


C++ 中的wctob() 函数将宽字符转换为单字节字符(char 类型),如果它的多字节字符等效是单字节。

wctob() 函数在<cwchar> 头文件中定义。

wctob()原型

int wctob( wint_t c );

wctob() 函数将宽字符 c 作为其参数,并尽可能返回其等效的窄单字节字符。

参数:

  • c :要缩小的宽字符。

返回:

如果 c 表示初始移位状态下长度为 1 的多字节字符,则 wctob() 函数返回 c 的单字节表示。否则返回 EOF。

示例:wctob() 函数如何工作?

#include <cwchar>
#include <clocale>
#include <iostream>
#include <cstdio>
using namespace std;

void test_wctob(wchar_t c)
{
	int ch = wctob(c);
	if (ch != EOF)
		wcout << c << L" can be narrowed" << endl;
	else
		wcout << c << L" can't be narrowed" << endl;
}

int main()
{
	setlocale(LC_ALL, "en_US.utf8");

	wchar_t wc1 = L'm';
	wchar_t wc2 = L'\u00c6';
	
	test_wctob(wc1);
	test_wctob(wc2);
	
	return 0;
}

运行程序时,输出将是:

m can be narrowed
Æ can't be narrowed

相关用法


注:本文由纯净天空筛选整理自 C++ wctob()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。