クリックして評価とフィードバックをお寄せください
MSDN
MSDN ライブラリ
Visual Studio 2010
Visual Studio
Visual Studio の言語
Visual C++
Visual C++ のリファレンス
Standard C++ Library
Header Files
<locale>
<locale> Classes
ctype Class
ctype Member Functions
 ctype::narrow
すべて縮小/すべて展開 すべて縮小
このページは次のバージョンについて記述しています。
Microsoft Visual Studio 2010/.NET Framework 4

その他のバージョンについては、以下の情報を参照してください。
Visual Studio 2010 - Visual C++
ctype::narrow

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

char narrow(
    CharType ch, 
    char default = '\0'
) const;
const CharType* narrow(
    const CharType* first, 
    const CharType* last,
    char default, 
    char* dest
) const;
ch

The character of type Chartype used by the locale 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.

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.

dest

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

The first member function returns the native character of type char that corresponds to the parameter character of type CharType default if not counterpart is defined.

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

The first member function returns do_narrow(ch, default). The second member function returns do_narrow (first, last, default, dest). Only the basic source characters are guaranteed to have a unique inverse image CharType under narrow. For these basic source characters, the following invariant holds: narrow ( widenc ), 0 ) == c.

// 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;
}
Xhello everyone

Header: <locale>

Namespace: std

Reference

Other Resources

コミュニティ コンテンツ   コミュニティ コンテンツとは
新しいコンテンツの追加 RSS  注釈
Processing
© 2012 Microsoft. All rights reserved. 使用条件 | 商標 | プライバシー
Page view tracker