Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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. Ziectype<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
charmet de expressie(char)ch.Converteer een waarde-byte van het type
charnaar een waarde van het type CharType met de expressieCharType(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!