ctype::_Narrow_s

Converts characters of type CharType used by a locale to the corresponding characters of type char in the native character set.

const CharType *_Narrow_s(
    const CharType *_First,
    const CharType *_Last,
    char _Dfault,
    char *_Dest,
    size_t _Dest_size
) const;

Parameters

  • _First
    A pointer to the first character in the range of characters to be converted.

  • _Last
    A pointer to the character immediately following the last character in the range of characters to be converted.

  • _Dfault
    The default value to be assigned by the member function to characters of type CharType that do not have counterpart characters of type char.

  • _Dest
    A const pointer to the first character of type char in the destination range that stores the converted range of characters.

  • _Dest_size
    The size of _Dest in bytes.

Return Value

This member function returns a pointer to the destination range of native characters converted from characters of type CharType.

Remarks

This member function returns _Do_narrow_s(_First, _Last, _Dfault, _Dest, _Dest_size).

Example

// ctype__Narrow_s.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
using namespace std;

int main( )
{
    locale loc1("english");
    wchar_t *str1 = L"\x0392fhello everyone";
    const int str2_size = 16;
    char str2[str2_size];
    bool result1 = (use_facet<ctype<wchar_t> >(loc1)._Narrow_s
        (str1, str1 + wcslen(str1), 'X', &str2[0], str2_size) != 0);
    str2[wcslen(str1)] = '\0';
    wcout << str1 << endl;
    cout << &str2[0] << endl;
}

Xhello everyone

Requirements

Header: <locale>

Namespace: std

See Also

Concepts

ctype Class

ctype Members

Safe Libraries: Standard C++ Library