Share via


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 default,
    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.

  • default
    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, default, 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

Reference

ctype Class

Safe Libraries: Standard C++ Library

Other Resources

ctype Members

Change History

Date

History

Reason

March 2009

Corrected.

Customer feedback.