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
Safe Libraries: Standard C++ Library
Other Resources
Change History
Date |
History |
Reason |
---|---|---|
March 2009 |
Corrected. |
Customer feedback. |