Delen via


ctype-klasse

Een klasse die een facet biedt die wordt gebruikt voor het classificeren van tekens, converteren van hoofdletters en kleine letters en converteren tussen de systeemeigen tekenset en die set die wordt gebruikt door de landinstelling.

Syntaxis

template <class CharType>
class ctype : public ctype_base;

Parameterwaarden

CharType
Het type dat in een programma wordt gebruikt om tekens te coderen.

Opmerkingen

Net als bij een facet van de landinstelling heeft de statische object-id een initiële opgeslagen waarde van nul. De eerste poging om toegang te krijgen tot de opgeslagen waarde slaat een unieke positieve waarde op in id. Classificatiecriteria zijn voorzien van een genest bitmaskertype in de basisklasse ctype_base.

De C++-standaardbibliotheek definieert twee expliciete specialisaties van deze klassesjabloon:

  • ctype<char>, een expliciete specialisatie waarvan de verschillen afzonderlijk worden beschreven. Zie ctype<char> Classvoor meer informatie.

  • ctype<wchar_t>, waarmee elementen worden behandeld als brede tekens.

Andere specialisaties van klassesjabloon ctype<CharType>:

  • Converteer een waarde van het type CharType naar een waarde van het type char met de expressie (char)ch.

  • Converteer een waarde-byte van het type char naar een waarde van het type CharType met de expressie CharType(byte).

Alle andere bewerkingen worden uitgevoerd op char waarden op dezelfde manier als voor de expliciete specialisatie ctype<char>.

Constructeurs

Constructeur Beschrijving
ctype Constructor voor objecten van klasse ctype die fungeren als facetten van landinstellingen voor tekens.

Typedefs

Typenaam Beschrijving
char_type Een type dat een teken beschrijft dat wordt gebruikt door een landinstelling.

Functies voor leden

Lid, functie Beschrijving
do_is Een virtuele functie die wordt aangeroepen om te testen of één teken een bepaald kenmerk heeft of de kenmerken van elk teken in een bereik classificeert en opslaat in een matrix.
do_narrow Een virtuele functie die wordt aangeroepen om een teken van het type CharType dat door een landinstelling wordt gebruikt, te converteren naar het bijbehorende teken van het type char in de systeemeigen tekenset.
do_scan_is Een virtuele functie die wordt aangeroepen om het eerste teken in een bereik te vinden dat overeenkomt met een opgegeven masker.
do_scan_not Een virtuele functie die wordt aangeroepen om het eerste teken in een bereik te vinden dat niet overeenkomt met een opgegeven masker.
do_tolower Een virtuele functie die wordt aangeroepen om een teken of een reeks tekens te converteren naar de kleine letter.
do_toupper Een virtuele functie die wordt aangeroepen om een teken of een reeks tekens te converteren naar hoofdletters.
do_widen Een virtuele functie die wordt aangeroepen om een teken van het type char in de systeemeigen tekenset te converteren naar het bijbehorende teken van het type CharType dat door een landinstelling wordt gebruikt.
is Test of één teken een bepaald kenmerk heeft of classificeert de kenmerken van elk teken in een bereik en slaat deze op in een matrix.
smal Converteert een teken van het type CharType dat door een landinstelling wordt gebruikt naar het bijbehorende teken van het type char in de systeemeigen tekenset.
scan_is Zoekt het eerste teken in een bereik dat overeenkomt met een opgegeven masker.
scan_not Zoekt het eerste teken in een bereik dat niet overeenkomt met een opgegeven masker.
tolower Converteert een teken of een reeks tekens naar kleine letters.
toupper Converteert een teken of een reeks tekens naar hoofdletters.
verbreden Converteert een teken van het type char in de systeemeigen tekenset naar het bijbehorende teken van het type CharType dat door een landinstelling wordt gebruikt.

Behoeften

Rubriek:<oord>

naamruimte: std

ctype::char_type

Een type dat een teken beschrijft dat wordt gebruikt door een landinstelling.

typedef CharType char_type;

Opmerkingen

Het type is een synoniem voor de sjabloonparameter CharType.

Voorbeeld

Zie de lidfunctie breder voor een voorbeeld dat als retourwaarde wordt gebruikt char_type .

ctype::ctype

Constructor voor objecten van klasse ctype die fungeren als landinstellingen voor tekens.

explicit ctype(size_t _Refs = 0);

Parameterwaarden

_Refs
Een geheel getal dat wordt gebruikt om het type geheugenbeheer voor het object op te geven.

Opmerkingen

De mogelijke waarden voor de parameter _Refs en hun significantie zijn:

  • 0: De levensduur van het object wordt beheerd door de landinstellingen die het object bevatten.

  • 1: De levensduur van het object moet handmatig worden beheerd.

  • > 1: Deze waarden zijn niet gedefinieerd.

Er zijn geen directe voorbeelden mogelijk, omdat de destructor is beveiligd.

De constructor initialiseert het locale::facet basisobject met landinstelling::facet(_Refs).

ctype::d o_is

Een virtuele functie die wordt aangeroepen om te testen of één teken een bepaald kenmerk heeft of de kenmerken van elk teken in een bereik classificeert en opslaat in een matrix.

virtual bool do_is(
    mask maskVal,
    CharType ch) const;

virtual const CharType *do_is(
    const CharType* first,
    const CharType* last,
    mask* dest) const;

Parameterwaarden

maskVal
De maskerwaarde waarvoor het teken moet worden getest.

Ch
Het teken waarvan de kenmerken moeten worden getest.

eerste
Een aanwijzer naar het eerste teken in het bereik waarvan de kenmerken moeten worden geclassificeerd.

laatste
Een aanwijzer naar het teken direct na het laatste teken in het bereik waarvan de kenmerken moeten worden geclassificeerd.

dest
Een aanwijzer naar het begin van de matrix waarin de maskerwaarden die de kenmerken van elk van de tekens aangeven, moeten worden opgeslagen.

Retourwaarde

De eerste lidfunctie retourneert een Booleaanse waarde die is true als het geteste teken het kenmerk heeft dat wordt beschreven door de maskerwaarde. false Als het kenmerk niet beschikbaar is.

De tweede lidfunctie retourneert een matrix met de maskerwaarden die de kenmerken van elk van de tekens in het bereik karakteriseren.

Opmerkingen

De maskerwaarden die de kenmerken van de tekens classificeren, worden geleverd door de klasse ctype_base, waaruit ctype is afgeleid. De eerste lidfunctie kan expressies accepteren voor de eerste parameter die wordt aangeduid als bitmaskers en gevormd door de combinatie van maskerwaarden door de bitsgewijze operatoren (|, &^, , ). ~

Voorbeeld

Zie het voorbeeld hiervoor, dat aanroept do_is.

ctype::d o_narrow

Een virtuele functie die wordt aangeroepen om een teken van het type CharType dat door een landinstelling wordt gebruikt, te converteren naar het bijbehorende teken van het type char in de systeemeigen tekenset.

virtual char do_narrow(
    CharType ch,
    char default = '\0') const;

virtual const CharType* do_narrow(
    const CharType* first,
    const CharType* last,
    char default,
    char* dest) const;

Parameterwaarden

Ch
Het teken van het type Chartype dat door de landinstelling wordt gebruikt om te worden geconverteerd.

standaard
De standaardwaarde die door de lidfunctie moet worden toegewezen aan tekens van het type CharType die geen tegenhangers van het type charhebben.

eerste
Een aanwijzer naar het eerste teken in het tekenbereik dat moet worden geconverteerd.

laatste
Een aanwijzer naar het teken direct na het laatste teken in het bereik van tekens dat moet worden geconverteerd.

dest
Een const pointer naar het eerste teken van het type char in het doelbereik waarin het geconverteerde bereik met tekens wordt opgeslagen.

Retourwaarde

De eerste beveiligde lidfunctie retourneert het systeemeigen teken van het type teken dat overeenkomt met het parameterteken van het type CharType of de standaardwaarde als er geen tegenhanger is gedefinieerd.

De tweede beveiligde lidfunctie retourneert een aanwijzer naar het doelbereik van systeemeigen tekens die zijn geconverteerd van tekens van het type CharType.

Opmerkingen

De tweede beveiligde lidsjabloonfunctie slaat in dest[ I] de waarde do_narrow(first [ I], default), voor I in het interval [0, last - first).

Voorbeeld

Zie het voorbeeld voor smal, die aanroept do_narrow.

ctype::d o_scan_is

Een virtuele functie die wordt aangeroepen om het eerste teken in een bereik te vinden dat overeenkomt met een opgegeven masker.

virtual const CharType *do_scan_is(
    mask maskVal,
    const CharType* first,
    const CharType* last) const;

Parameterwaarden

maskVal
De maskerwaarde die moet worden vergeleken met een teken.

eerste
Een aanwijzer naar het eerste teken in het bereik dat moet worden gescand.

laatste
Een aanwijzer naar het teken direct na het laatste teken in het bereik dat moet worden gescand.

Retourwaarde

Een aanwijzer naar het eerste teken in een bereik dat overeenkomt met een opgegeven masker. Als er geen dergelijke waarde bestaat, retourneert de functie het laatste.

Opmerkingen

De functie beveiligd lid retourneert de kleinste aanwijzer ptr in het bereik [ first, last) waarvoor do_is(maskVal, * ptr) waar is.

Voorbeeld

Zie het voorbeeld voor scan_is, die aanroept do_scan_is.

ctype::d o_scan_not

Een virtuele functie die wordt aangeroepen om het eerste teken in een bereik te vinden dat niet overeenkomt met een opgegeven masker.

virtual const CharType *do_scan_not(
    mask maskVal,
    const CharType* first,
    const CharType* last) const;

Parameterwaarden

maskVal
De maskerwaarde die niet door een teken moet worden vergeleken.

eerste
Een aanwijzer naar het eerste teken in het bereik dat moet worden gescand.

laatste
Een aanwijzer naar het teken direct na het laatste teken in het bereik dat moet worden gescand.

Retourwaarde

Een aanwijzer naar het eerste teken in een bereik dat niet overeenkomt met een opgegeven masker. Als er geen dergelijke waarde bestaat, retourneert de functie het laatste.

Opmerkingen

De beveiligde lidfunctie retourneert de kleinste aanwijzer ptr in het bereik [ first, last) waarvoor do_is(maskVal, * ptr) onwaar is.

Voorbeeld

Zie het voorbeeld voor scan_not, die aanroept do_scan_not.

ctype::d o_tolower

Een virtuele functie die wordt aangeroepen om een teken of een reeks tekens te converteren naar kleine letters.

virtual CharType do_tolower(CharType ch) const;

virtual const CharType *do_tolower(
    CharType* first,
    const CharType* last) const;

Parameterwaarden

Ch
Het teken dat moet worden geconverteerd naar kleine letters.

eerste
Een aanwijzer naar het eerste teken in het bereik van tekens waarvan de zaken moeten worden geconverteerd.

laatste
Een aanwijzer naar het teken direct na het laatste teken in het bereik van tekens waarvan de zaken moeten worden geconverteerd.

Retourwaarde

De eerste beveiligde lidfunctie retourneert de kleine letter van de parameter ch. Als er geen formulier met kleine letters bestaat, wordt ch geretourneerd. De tweede beveiligde lidfunctie retourneert de laatste.

Opmerkingen

De tweede beveiligde lidsjabloonfunctie vervangt elk element first [ ], voor I in het interval [0,Ilast - ), door first( [ do_tolowerfirst ]). I

Voorbeeld

Zie het voorbeeld voor tolower, die aanroept do_tolower.

ctype::d o_toupper

Een virtuele functie die wordt aangeroepen om een teken of een reeks tekens te converteren naar hoofdletters.

virtual CharType do_toupper(CharType ch) const;

virtual const CharType *do_toupper(
    CharType* first,
    const CharType* last) const;

Parameterwaarden

Ch
Het teken dat moet worden geconverteerd naar hoofdletters.

eerste
Een aanwijzer naar het eerste teken in het bereik van tekens waarvan de zaken moeten worden geconverteerd.

laatste
Een aanwijzer naar teken direct na het laatste teken in het bereik van tekens waarvan de zaken moeten worden geconverteerd.

Retourwaarde

De eerste beveiligde lidfunctie retourneert de hoofdlettervorm van de parameter ch. Als er geen hoofdletterformulier bestaat, wordt ch geretourneerd. De tweede beveiligde lidfunctie retourneert de laatste.

Opmerkingen

De tweede beveiligde lidsjabloonfunctie vervangt elk element first [ ], voor I in het interval [0,Ilast - ), door first( [ do_toupperfirst ]). I

Voorbeeld

Zie het voorbeeld voor toupper, dat aanroept do_toupper.

ctype::d o_widen

Een virtuele functie die wordt aangeroepen om een teken van het type char in de systeemeigen tekenset te converteren naar het bijbehorende teken van het type CharType dat door een landinstelling wordt gebruikt.

virtual CharType do_widen(char byte) const;

virtual const char *do_widen(
    const char* first,
    const char* last,
    CharType* dest) const;

Parameterwaarden

byte
Het teken van het type char in de systeemeigen tekenset die moet worden geconverteerd.

eerste
Een aanwijzer naar het eerste teken in het tekenbereik dat moet worden geconverteerd.

laatste
Een aanwijzer naar het teken direct na het laatste teken in het bereik van tekens dat moet worden geconverteerd.

dest
Een aanwijzer naar het eerste teken van het type CharType in het doelbereik waarin het geconverteerde tekenbereik wordt opgeslagen.

Retourwaarde

De eerste beveiligde lidfunctie retourneert het teken van het type CharType dat overeenkomt met het parameterteken van het systeemeigen type char.

De tweede beveiligde lidfunctie retourneert een aanwijzer naar het doelbereik van tekens van het type CharType dat wordt gebruikt door een landinstelling die wordt geconverteerd van systeemeigen tekens van het type char.

Opmerkingen

De tweede beveiligde lidsjabloonfunctie slaat in dest[ I] de waarde do_widen(first[ I]), voor I in het interval [0, last - first).

Voorbeeld

Zie het voorbeeld voor widen, die aanroept do_widen.

ctype::is

Test of één teken een bepaald kenmerk heeft of de kenmerken van elk teken in een bereik classificeert en opslaat in een matrix.

bool is(mask maskVal, CharType ch) const;

const CharType *is(
    const CharType* first,
    const CharType* last,
    mask* dest) const;

Parameterwaarden

maskVal
De maskerwaarde waarvoor het teken moet worden getest.

Ch
Het teken waarvan de kenmerken moeten worden getest.

eerste
Een aanwijzer naar het eerste teken in het bereik waarvan de kenmerken moeten worden geclassificeerd.

laatste
Een aanwijzer naar het teken direct na het laatste teken in het bereik waarvan de kenmerken moeten worden geclassificeerd.

dest
Een aanwijzer naar het begin van de matrix waarin de maskerwaarden die de kenmerken van elk van de tekens aangeven, moeten worden opgeslagen.

Retourwaarde

De eerste lidfunctie retourneert true als het geteste teken het kenmerk heeft dat wordt beschreven door de maskerwaarde. false Als het kenmerk niet kan worden gebruikt.

De tweede lidfunctie retourneert een aanwijzer naar het laatste teken in het bereik waarvan de kenmerken moeten worden geclassificeerd.

Opmerkingen

De maskerwaarden die de kenmerken van de tekens classificeren, worden geleverd door de klasse ctype_base Klasse, waaruit ctype is afgeleid. De eerste lidfunctie kan expressies accepteren voor de eerste parameter die wordt aangeduid als bitmaskers en gevormd door de combinatie van maskerwaarden door de bitsgewijze operatoren (|, &^, , ). ~

Voorbeeld

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

int main() {
   locale loc1 ( "German_Germany" ), loc2 ( "English_Australia" );

   if (use_facet<ctype<char> > ( loc1 ).is( ctype_base::alpha, 'a' ))
      cout << "The character 'a' in locale loc1 is alphabetic."
           << endl;
   else
      cout << "The character 'a' in locale loc1 is not alphabetic."
           << endl;

   if (use_facet<ctype<char> > ( loc2 ).is( ctype_base::alpha, '!' ))
      cout << "The character '!' in locale loc2 is alphabetic."
           << endl;
   else
      cout << "The character '!' in locale loc2 is not alphabetic."
           << endl;

   char *string = "Hello, my name is John!";
   ctype<char>::mask maskarray[30];
   use_facet<ctype<char> > ( loc2 ).is(
      string, string + strlen(string), maskarray );
   for (unsigned int i = 0; i < strlen(string); i++) {
      cout << string[i] << ": "
           << (maskarray[i] & ctype_base::alpha  "alpha"
                                                : "not alpha")
           << endl;
   }
}

ctype::narrow

Converteert tekens van het type CharType dat door een landinstelling wordt gebruikt naar de bijbehorende tekens van het type char in de systeemeigen tekenset.

char narrow(CharType ch, char default = '\0') const;

const CharType* narrow(
    const CharType* first,
    const CharType* last,
    char default,
    char* dest) const;

Parameterwaarden

Ch
Het teken van het type Chartype dat door de landinstelling wordt gebruikt om te worden geconverteerd.

standaard
De standaardwaarde die door de lidfunctie moet worden toegewezen aan tekens van het type CharType die geen tegenhangers van het type charhebben.

eerste
Een aanwijzer naar het eerste teken in het tekenbereik dat moet worden geconverteerd.

laatste
Een aanwijzer naar het teken direct na het laatste teken in het bereik van tekens dat moet worden geconverteerd.

dest
Een const pointer naar het eerste teken van het type char in het doelbereik waarin het geconverteerde bereik met tekens wordt opgeslagen.

Retourwaarde

De eerste lidfunctie retourneert het systeemeigen teken van het type char dat overeenkomt met het parameterteken van het type CharType default als er geen tegenhanger is gedefinieerd.

De tweede lidfunctie retourneert een aanwijzer naar het doelbereik van systeemeigen tekens die zijn geconverteerd van tekens van het type CharType.

Opmerkingen

De functie eerste lid retourneert do_narrow(ch, default). De functie tweede lid retourneert do_narrow (first, last, default). dest Alleen de basisbrontekens hebben gegarandeerd een unieke inverse afbeelding CharType onder narrow. Voor deze basisbrontekens bevat de volgende invariant: narrow ( widen ( c ), 0 ) == c.

Voorbeeld

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

ctype::scan_is

Zoekt het eerste teken in een bereik dat overeenkomt met een opgegeven masker.

const CharType *scan_is(
    mask maskVal,
    const CharType* first,
    const CharType* last) const;

Parameterwaarden

maskVal
De maskerwaarde die moet worden vergeleken met een teken.

eerste
Een aanwijzer naar het eerste teken in het bereik dat moet worden gescand.

laatste
Een aanwijzer naar het teken direct na het laatste teken in het bereik dat moet worden gescand.

Retourwaarde

Een aanwijzer naar het eerste teken in een bereik dat overeenkomt met een opgegeven masker. Als er geen dergelijke waarde bestaat, retourneert de functie het laatste.

Opmerkingen

De lidfunctie retourneert do_scan_is(maskVal, first, last).

Voorbeeld

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

int main( )
{
   locale loc1 ( "German_Germany" );

   char *string = "Hello, my name is John!";

   const char* i = use_facet<ctype<char> > ( loc1 ).scan_is
      ( ctype_base::punct, string, string + strlen(string) );
   cout << "The first punctuation is \"" << *i << "\" at position: "
      << i - string << endl;
}
The first punctuation is "," at position: 5

ctype::scan_not

Zoekt het eerste teken in een bereik dat niet overeenkomt met een opgegeven masker.

const CharType *scan_not(
    mask maskVal,
    const CharType* first,
    const CharType* last) const;

Parameterwaarden

maskVal
De maskerwaarde die niet door een teken moet worden vergeleken.

eerste
Een aanwijzer naar het eerste teken in het bereik dat moet worden gescand.

laatste
Een aanwijzer naar het teken direct na het laatste teken in het bereik dat moet worden gescand.

Retourwaarde

Een aanwijzer naar het eerste teken in een bereik dat niet overeenkomt met een opgegeven masker. Als er geen dergelijke waarde bestaat, retourneert de functie het laatste.

Opmerkingen

De lidfunctie retourneert do_scan_not(maskVal, first, last).

Voorbeeld

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

int main( )
{
   locale loc1 ( "German_Germany" );

   char *string = "Hello, my name is John!";

   const char* i = use_facet<ctype<char> > ( loc1 ).scan_not
      ( ctype_base::alpha, string, string + strlen(string) );
   cout << "First nonalpha character is \"" << *i << "\" at position: "
      << i - string << endl;
}
First nonalpha character is "," at position: 5

ctype::tolower

Converteert een teken of een reeks tekens naar kleine letters.

CharType tolower(CharType ch) const;

const CharType *tolower(CharType* first, const CharType* last) const;

Parameterwaarden

Ch
Het teken dat moet worden geconverteerd naar kleine letters.

eerste
Een aanwijzer naar het eerste teken in het bereik van tekens waarvan de zaken moeten worden geconverteerd.

laatste
Een aanwijzer naar het teken direct na het laatste teken in het bereik van tekens waarvan de zaken moeten worden geconverteerd.

Retourwaarde

De eerste lidfunctie retourneert de kleine letter van de parameter ch. Als er geen formulier met kleine letters bestaat, wordt ch geretourneerd.

De functie tweede lid retourneert de laatste.

Opmerkingen

De functie eerste lid retourneert do_tolower(ch). De functie tweede lid retourneert do_tolower(first, last).

Voorbeeld

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

int main( )
{
   locale loc1 ( "German_Germany" );

   char string[] = "HELLO, MY NAME IS JOHN";

   use_facet<ctype<char> > ( loc1 ).tolower
      ( string, string + strlen(string) );
   cout << "The lowercase string is: " << string << endl;
}
The lowercase string is: hello, my name is john

ctype::toupper

Converteert een teken of een reeks tekens naar hoofdletters.

CharType toupper(CharType ch) const;
const CharType *toupper(CharType* first, const CharType* last) const;

Parameterwaarden

Ch
Het teken dat moet worden geconverteerd naar hoofdletters.

eerste
Een aanwijzer naar het eerste teken in het bereik van tekens waarvan de zaken moeten worden geconverteerd.

laatste
Een aanwijzer naar het teken direct na het laatste teken in het bereik van tekens waarvan de zaken moeten worden geconverteerd.

Retourwaarde

De eerste lidfunctie retourneert de hoofdlettervorm van de parameter ch. Als er geen hoofdletterformulier bestaat, wordt ch geretourneerd.

De functie tweede lid retourneert de laatste.

Opmerkingen

De functie eerste lid retourneert do_toupper(ch). De functie tweede lid retourneert do_toupper(first, last).

Voorbeeld

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

int main( )
{
   locale loc1 ( "German_Germany" );

   char string[] = "Hello, my name is John";

   use_facet<ctype<char> > ( loc1 ).toupper
      ( string, string + strlen(string) );
   cout << "The uppercase string is: " << string << endl;
}
The uppercase string is: HELLO, MY NAME IS JOHN

ctype::widen

Converteert een teken van het type char in de systeemeigen tekenset naar het bijbehorende teken van het type CharType dat door een landinstelling wordt gebruikt.

CharType widen(char byte) const;
const char *widen(const char* first, const char* last, CharType* dest) const;

Parameterwaarden

byte
Het teken van het type char in de systeemeigen tekenset die moet worden geconverteerd.

eerste
Een aanwijzer naar het eerste teken in het tekenbereik dat moet worden geconverteerd.

laatste
Een aanwijzer naar het teken direct na het laatste teken in het bereik van tekens dat moet worden geconverteerd.

dest
Een aanwijzer naar het eerste teken van het type CharType in het doelbereik waarin het geconverteerde tekenbereik wordt opgeslagen.

Retourwaarde

De eerste lidfunctie retourneert het teken van het type CharType dat overeenkomt met het parameterteken van het systeemeigen type char.

De functie tweede lid retourneert een aanwijzer naar het doelbereik van tekens van het type CharType dat wordt gebruikt door een landinstelling die is geconverteerd van systeemeigen tekens van het type char.

Opmerkingen

De functie eerste lid retourneert do_widen(byte). De functie tweede lid retourneert do_widen(first, last, dest).

Voorbeeld

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

int main( )
{
   locale loc1 ( "English" );
   char *str1 = "Hello everyone!";
   wchar_t str2 [16];
   bool result1 = (use_facet<ctype<wchar_t> > ( loc1 ).widen
      ( str1, str1 + strlen(str1), &str2[0] ) != 0);  // C4996
   str2[strlen(str1)] = '\0';
   cout << str1 << endl;
   wcout << &str2[0] << endl;

   ctype<wchar_t>::char_type charT;
   charT = use_facet<ctype<char> > ( loc1 ).widen( 'a' );
}
Hello everyone!
Hello everyone!

Zie ook

<oord>
Thread Safety in de standaardbibliotheek van C++