ctype::narrow
转换区域设置的 CharType 类型字符。char 对应类型的字符。本地的字符集。
char narrow(
CharType ch,
char default = '\0'
) const;
const CharType* narrow(
const CharType* first,
const CharType* last,
char default,
char* dest
) const;
参数
ch
区域设置的类型 Chartype 将字符转换。default
成员函数将分配的默认值设置没有 char类型复制字符 CharType 类型的字符。first
到第一个字符的指针。要转换的字符范围。last
为字符的指针。在将转换的字符范围内的最后一个字符之后。dest
对类型的指针 char 第一个字符常数转换在存储的字符范围的目标范围的。
返回值
第一个成员函数返回相应于类型 CharType default 参数的字符类型 char 的本机字符,则不会复制未定义。
第二个成员函数返回指向从 CharType类型字符转换的目标范围本机字符。
备注
第一个成员函数返回 do_narrow(ch,default)。 第二个成员函数返回 do_narrow (first、last、default,dest)。 只有基本的源字符确保具有唯一原与 CharType 在 narrow的下面。 对于这些基本的源字符,以固定的占用:narrow ( 扩大 (c),但 0) == c。
示例
// ctype_narrow.cpp
// compile with: /EHsc /W3
#include <locale>
#include <iostream>
using namespace std;
int main( )
{
locale loc1 ( "english" );
wchar_t *str1 = L"\x0392fhello everyone";
char str2 [16];
bool result1 = (use_facet<ctype<wchar_t> > ( loc1 ).narrow
( str1, str1 + wcslen(str1), 'X', &str2[0] ) != 0); // C4996
str2[wcslen(str1)] = '\0';
wcout << str1 << endl;
cout << &str2[0] << endl;
}
要求
页眉: <区域设置>
命名空间: std