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
Значение по умолчанию для присвоения функцию-член в символы типа CharType символы, которые не имеют аналогов типа char.first
Указатель к первому символу в диапазоне символов для преобразования.last
Указатель на символ непосредственно после последнего символа в диапазоне символов для преобразования.dest
Указатель на первый символ типа const char в диапазоне назначения, хранящий преобразованное диапазон символов.
Возвращаемое значение
Первый символ типа функция-член возвращает собственный char, который соответствует знаку параметра типа CharTypedefault если не аналогом определены.
Второй функцию-член возвращает указатель к диапазону назначения собственных преобразованных символов из знаков, типа CharType.
Заметки
Первый функцию-член возвращает do_narrow(ch, default).Второй функцию-член возвращает do_narrow (first, last, default, dest).Только обязательно имеют базовые символы источника уникальным прообраз CharType в narrow.Для этих основных источника, инвариантные владения следующих символов: в. (== narrowрасширение ( c), 0).
Пример
// 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;
}
Требования
заголовок: <locale>
std пространство имен: