Export (0) Print
Expand All

ctype::_Narrow_s

Updated: March 2009

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;

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.

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

This member function returns _Do_narrow_s(first, last, default, dest, dest_size).

// 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

Header: <locale>

Namespace: std

Date

History

Reason

March 2009

Corrected.

Customer feedback.

Community Additions

ADD
Show:
© 2014 Microsoft