C++ 本地化库 - widen



描述

它用于扩展字符,在内部,此函数简单地调用虚拟受保护成员 do_widen,在泛型模板和 char 特化(ctype<char>)中,默认情况下,它都执行上述操作。

声明

以下是 std::ctype::widen 的声明。

C++98

	
char_type tolower (char_type c) const;

C++11

char_type tolower (char_type c) const;

参数

  • c − 它是一个 char 类型。

  • low,high − 它是指向字符序列的开头和结尾的指针。

  • to − 它是指向方面字符类型元素范围的指针。

返回值

它返回 c 的转换结果。

异常

如果抛出异常,方面对象不会发生任何更改,尽管范围内的字符可能已受到影响。

数据竞争

http://tpcg.io/YqaGeY

访问对象和范围 [low,high) 中的元素。

示例

下面的示例解释了 std::ctype::widen。

#include <iostream>
#include <locale>
int main () {
   std::locale loc;

   const char narrow_phrase[] = "Sairamkrishna Mammahe";
   wchar_t wide_phrase[sizeof(narrow_phrase)];

   std::wcout << L"The first wide character is: ";
   wchar_t wc = std::use_facet< std::ctype<wchar_t> >(loc).widen ( *narrow_phrase );
   std::wcout << wc << std::endl;

   std::wcout << L"The wide-character phrase is: ";
   std::use_facet< std::ctype<wchar_t> >(loc).widen (narrow_phrase,
                                                    narrow_phrase+sizeof(narrow_phrase),
                                                    wide_phrase);
   std::wcout << wide_phrase << std::endl;

   return 0;
}

让我们编译并运行上面的程序,这将产生以下结果:

The first wide character is: S
The wide-character phrase is: Sairamkrishna Mammahe
locale.htm
广告