fonctions<locale>
has_facet
isalnum
isalpha
iscntrl
isdigit
isgraph
islower
isprint
ispunct
isspace
isupper
isxdigit
tolower
toupper
use_facet
has_facet
Teste si une facette particulière est stockée dans des paramètres régionaux spécifiés.
template <class Facet>
bool has_facet(const locale& Loc);
Paramètres
Loc
Paramètres régionaux pour lesquels tester la présence d’une facette.
Valeur de retour
true
si les paramètres régionaux ont la facette testée ; false
si ce n’est pas le cas.
Notes
La fonction de modèle est utile pour vérifier si des facettes non obligatoires sont répertoriées dans des paramètres régionaux avant que use_facet
soit appelée, pour éviter l’exception qui serait levée s’ils n’étaient pas présents.
Exemple
// locale_has_facet.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
using namespace std;
int main( )
{
locale loc ( "German_Germany" );
bool result = has_facet <ctype<char> > ( loc );
cout << result << endl;
}
1
isalnum
Teste si un élément figurant dans des paramètres régionaux est un caractère alphabétique ou numérique.
template <class CharType>
bool isalnum(CharType Ch, const locale& Loc)
Paramètres
Ch
Élément alphanumérique à tester.
Loc
Paramètres régionaux contenant l’élément alphanumérique à tester.
Valeur de retour
true
si l’élément testé est alphanumérique ; false
si ce n’est pas le cas.
Exemple
// locale_isalnum.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
using namespace std;
int main( )
{
locale loc ( "German_Germany" );
bool result1 = isalnum ( 'L', loc);
bool result2 = isalnum ( '@', loc);
bool result3 = isalnum ( '3', loc);
if ( result1 )
cout << "The character 'L' in the locale is "
<< "alphanumeric." << endl;
else
cout << "The character 'L' in the locale is "
<< " not alphanumeric." << endl;
if ( result2 )
cout << "The character '@' in the locale is "
<< "alphanumeric." << endl;
else
cout << "The character '@' in the locale is "
<< " not alphanumeric." << endl;
if ( result3 )
cout << "The character '3' in the locale is "
<< "alphanumeric." << endl;
else
cout << "The character '3' in the locale is "
<< " not alphanumeric." << endl;
}
The character 'L' in the locale is alphanumeric.
The character '@' in the locale is not alphanumeric.
The character '3' in the locale is alphanumeric.
isalpha
Teste si un élément figurant dans des paramètres régionaux est un caractère alphabétique.
template <class CharType>
bool isalpha(CharType Ch, const locale& Loc)
Paramètres
Ch
Élément à tester.
Loc
Paramètres régionaux contenant l’élément alphabétique à tester.
Valeur de retour
true
si l’élément testé est alphabétique ; false
si ce n’est pas le cas.
Notes
La fonction de modèle retourne use_facet<ctype<CharType>>( ). Loc
is( ctype<CharType> :: alpha, Ch
).
Exemple
// locale_isalpha.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
using namespace std;
int main( )
{
locale loc ( "German_Germany" );
bool result1 = isalpha ( 'L', loc);
bool result2 = isalpha ( '@', loc);
bool result3 = isalpha ( '3', loc);
if ( result1 )
cout << "The character 'L' in the locale is "
<< "alphabetic." << endl;
else
cout << "The character 'L' in the locale is "
<< " not alphabetic." << endl;
if ( result2 )
cout << "The character '@' in the locale is "
<< "alphabetic." << endl;
else
cout << "The character '@' in the locale is "
<< " not alphabetic." << endl;
if ( result3 )
cout << "The character '3' in the locale is "
<< "alphabetic." << endl;
else
cout << "The character '3' in the locale is "
<< " not alphabetic." << endl;
}
iscntrl
Teste si un élément figurant dans des paramètres régionaux est un caractère de contrôle.
template <class CharType>
bool iscntrl(CharType Ch, const locale& Loc)
Paramètres
Ch
Élément à tester.
Loc
Paramètres régionaux contenant l’élément à tester.
Valeur de retour
true
si l’élément testé est un caractère de contrôle ; false
si ce n’est pas le cas.
Notes
La fonction de modèle retourne use_facet<ctype<CharType>>( ). Loc
is( ctype<CharType> :: cntrl, Ch
).
Exemple
// locale_iscntrl.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
using namespace std;
int main( )
{
locale loc ( "German_Germany" );
bool result1 = iscntrl ( 'L', loc );
bool result2 = iscntrl ( '\n', loc );
bool result3 = iscntrl ( '\t', loc );
if ( result1 )
cout << "The character 'L' in the locale is "
<< "a control character." << endl;
else
cout << "The character 'L' in the locale is "
<< " not a control character." << endl;
if ( result2 )
cout << "The character-set 'backslash-n' in the locale\n is "
<< "a control character." << endl;
else
cout << "The character-set 'backslash-n' in the locale\n is "
<< " not a control character." << endl;
if ( result3 )
cout << "The character-set 'backslash-t' in the locale\n is "
<< "a control character." << endl;
else
cout << "The character-set 'backslash-n' in the locale \n is "
<< " not a control character." << endl;
}
isdigit
Teste si un élément figurant dans des paramètres régionaux est un caractère numérique.
template <class CharType>
bool isdigit(CharType Ch, const locale& Loc)
Paramètres
Ch
Élément à tester.
Loc
Paramètres régionaux contenant l’élément à tester.
Valeur de retour
true
si l’élément testé est un caractère numérique ; false
si ce n’est pas le cas.
Notes
La fonction de modèle retourne use_facet<ctype<CharType>>( ). Loc
is( ctype<CharType> :: digit, Ch
).
Exemple
// locale_is_digit.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
using namespace std;
int main( )
{
locale loc ( "German_Germany" );
bool result1 = isdigit ( 'L', loc );
bool result2 = isdigit ( '@', loc );
bool result3 = isdigit ( '3', loc );
if ( result1 )
cout << "The character 'L' in the locale is "
<< "a numeric character." << endl;
else
cout << "The character 'L' in the locale is "
<< " not a numeric character." << endl;
if ( result2 )
cout << "The character '@' in the locale is "
<< "a numeric character." << endl;
else
cout << "The character '@' in the locale is "
<< " not a numeric character." << endl;
if ( result3 )
cout << "The character '3' in the locale is "
<< "a numeric character." << endl;
else
cout << "The character '3' in the locale is "
<< " not a numeric character." << endl;
}
isgraph
Teste si un élément figurant dans des paramètres régionaux est un caractère alphanumérique ou de ponctuation.
template <class CharType>
bool isgraph(CharType Ch, const locale& Loc)
Paramètres
Ch
Élément à tester.
Loc
Paramètres régionaux contenant l’élément à tester.
Valeur de retour
true
si l’élément testé est un caractère alphanumérique ou de ponctuation ; false
si ce n’est pas le cas.
Notes
La fonction de modèle retourne use_facet<ctype<CharType>>( ). Loc
is( ctype<CharType> :: graph, Ch
).
Exemple
// locale_is_graph.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
using namespace std;
int main( )
{
locale loc ( "German_Germany" );
bool result1 = isgraph ( 'L', loc );
bool result2 = isgraph ( '\t', loc );
bool result3 = isgraph ( '.', loc );
if ( result1 )
cout << "The character 'L' in the locale is\n "
<< "an alphanumeric or punctuation character." << endl;
else
cout << "The character 'L' in the locale is\n "
<< " not an alphanumeric or punctuation character." << endl;
if ( result2 )
cout << "The character 'backslash-t' in the locale is\n "
<< "an alphanumeric or punctuation character." << endl;
else
cout << "The character 'backslash-t' in the locale is\n "
<< "not an alphanumeric or punctuation character." << endl;
if ( result3 )
cout << "The character '.' in the locale is\n "
<< "an alphanumeric or punctuation character." << endl;
else
cout << "The character '.' in the locale is\n "
<< " not an alphanumeric or punctuation character." << endl;
}
islower
Teste si un élément figurant dans des paramètres régionaux est en minuscules.
template <class CharType>
bool islower(CharType Ch, const locale& Loc)
Paramètres
Ch
Élément à tester.
Loc
Paramètres régionaux contenant l’élément à tester.
Valeur de retour
true
si l’élément testé est un caractère minuscule ; false
si ce n’est pas le cas.
Notes
La fonction de modèle retourne use_facet<ctype<CharType>>( ). Loc
is( ctype<CharType> :: lower, Ch
).
Exemple
// locale_islower.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
using namespace std;
int main( )
{
locale loc ( "German_Germany" );
bool result1 = islower ( 'L', loc );
bool result2 = islower ( 'n', loc );
bool result3 = islower ( '3', loc );
if ( result1 )
cout << "The character 'L' in the locale is "
<< "a lowercase character." << endl;
else
cout << "The character 'L' in the locale is "
<< " not a lowercase character." << endl;
if ( result2 )
cout << "The character 'n' in the locale is "
<< "a lowercase character." << endl;
else
cout << "The character 'n' in the locale is "
<< " not a lowercase character." << endl;
if ( result3 )
cout << "The character '3' in the locale is "
<< "a lowercase character." << endl;
else
cout << "The character '3' in the locale is "
<< " not a lowercase character." << endl;
}
isprint
Teste si un élément figurant dans des paramètres régionaux est un caractère imprimable.
template <class CharType>
bool isprint(CharType Ch, const locale& Loc)
Paramètres
Ch
Élément à tester.
Loc
Paramètres régionaux contenant l’élément à tester.
Valeur de retour
true
si l’élément testé est imprimable ; false
si ce n’est pas le cas.
Notes
La fonction de modèle retourne use_facet<ctype<CharType>>( ). Loc
is( ctype<CharType> :: print, Ch
).
Exemple
// locale_isprint.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
using namespace std;
int main( )
{
locale loc ( "German_Germany" );
bool result1 = isprint ( 'L', loc );
if ( result1 )
cout << "The character 'L' in the locale is "
<< "a printable character." << endl;
else
cout << "The character 'L' in the locale is "
<< " not a printable character." << endl;
bool result2 = isprint( '\t', loc );
if ( result2 )
cout << "The character 'backslash-t' in the locale is "
<< "a printable character." << endl;
else
cout << "The character 'backslash-t' in the locale is "
<< " not a printable character." << endl;
bool result3 = isprint( '\n', loc );
if ( result3 )
cout << "The character 'backslash-n' in the locale is "
<< "a printable character." << endl;
else
cout << "The character 'backslash-n' in the locale is "
<< " not a printable character." << endl;
}
ispunct
Teste si un élément figurant dans des paramètres régionaux est un caractère de ponctuation.
template <class CharType>
bool ispunct(CharType Ch, const locale& Loc)
Paramètres
Ch
Élément à tester.
Loc
Paramètres régionaux contenant l’élément à tester.
Valeur de retour
true
si l’élément testé est un caractère de ponctuation ; false
si ce n’est pas le cas.
Notes
La fonction de modèle retourne use_facet<
ctype<CharType>>( ). Loc
is( ctype<CharType> :: ponctuation, Ch
).
Exemple
// locale_ispunct.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
using namespace std;
int main( )
{
locale loc ( "German_Germany" );
bool result1 = ispunct ( 'L', loc );
bool result2 = ispunct ( ';', loc );
bool result3 = ispunct ( '*', loc );
if ( result1 )
cout << "The character 'L' in the locale is "
<< "a punctuation character." << endl;
else
cout << "The character 'L' in the locale is "
<< " not a punctuation character." << endl;
if ( result2 )
cout << "The character ';' in the locale is "
<< "a punctuation character." << endl;
else
cout << "The character ';' in the locale is "
<< " not a punctuation character." << endl;
if ( result3 )
cout << "The character '*' in the locale is "
<< "a punctuation character." << endl;
else
cout << "The character '*' in the locale is "
<< " not a punctuation character." << endl;
}
isspace
Teste si un élément figurant dans des paramètres régionaux est un espace blanc.
template <class CharType>
bool isspace(CharType Ch, const locale& Loc)
Paramètres
Ch
Élément à tester.
Loc
Paramètres régionaux contenant l’élément à tester.
Valeur de retour
true
si l’élément testé est un caractère d’espace blanc ; false
si ce n’est pas le cas.
Notes
La fonction de modèle retourne use_facet<ctype<CharType>>( ). Loc
is( ctype<CharType> :: space, Ch
).
Exemple
// locale_isspace.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
using namespace std;
int main( )
{
locale loc ( "German_Germany" );
bool result1 = isspace ( 'L', loc );
bool result2 = isspace ( '\n', loc );
bool result3 = isspace ( ' ', loc );
if ( result1 )
cout << "The character 'L' in the locale is "
<< "a whitespace character." << endl;
else
cout << "The character 'L' in the locale is "
<< " not a whitespace character." << endl;
if ( result2 )
cout << "The character 'backslash-n' in the locale is "
<< "a whitespace character." << endl;
else
cout << "The character 'backslash-n' in the locale is "
<< " not a whitespace character." << endl;
if ( result3 )
cout << "The character ' ' in the locale is "
<< "a whitespace character." << endl;
else
cout << "The character ' ' in the locale is "
<< " not a whitespace character." << endl;
}
isupper
Teste si un élément figurant dans des paramètres régionaux est en majuscules.
template <class CharType>
bool isupper(CharType Ch, const locale& Loc)
Paramètres
Ch
Élément à tester.
Loc
Paramètres régionaux contenant l’élément à tester.
Valeur de retour
true
si l’élément testé est un caractère majuscule ; false
si ce n’est pas le cas.
Notes
La fonction de modèle retourne use_facet<ctype<CharType>>( ). Loc
is( ctype<CharType> :: upper, Ch
).
Exemple
// locale_isupper.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
using namespace std;
int main( )
{
locale loc ( "German_Germany" );
bool result1 = isupper ( 'L', loc );
bool result2 = isupper ( 'n', loc );
bool result3 = isupper ( '3', loc );
if ( result1 )
cout << "The character 'L' in the locale is "
<< "a uppercase character." << endl;
else
cout << "The character 'L' in the locale is "
<< " not a uppercase character." << endl;
if ( result2 )
cout << "The character 'n' in the locale is "
<< "a uppercase character." << endl;
else
cout << "The character 'n' in the locale is "
<< " not a uppercase character." << endl;
if ( result3 )
cout << "The character '3' in the locale is "
<< "a uppercase character." << endl;
else
cout << "The character '3' in the locale is "
<< " not a uppercase character." << endl;
}
isxdigit
Teste si un élément figurant dans des paramètres régionaux est un caractère utilisé pour représenter un nombre hexadécimal.
template <class CharType>
bool isxdigit(CharType Ch, const locale& Loc)
Paramètres
Ch
Élément à tester.
Loc
Paramètres régionaux contenant l’élément à tester.
Valeur de retour
true
si l’élément testé est un caractère utilisé pour représenter un nombre hexadécimal ; false
si ce n’est pas le cas.
Notes
La fonction de modèle retourne use_facet<ctype<CharType>>( ). Loc
is( ctype<CharType> :: xdigit, Ch
).
Les chiffres hexadécimaux utilisent la base 16 pour représenter les nombres, en utilisant les nombres de 0 à 9 et les lettres de A à F (sans respect de la casse) pour représenter les nombres décimaux de 0 à 15.
Exemple
// locale_isxdigit.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
using namespace std;
int main( )
{
locale loc ( "German_Germany" );
bool result1 = isxdigit ( '5', loc );
bool result2 = isxdigit ( 'd', loc );
bool result3 = isxdigit ( 'q', loc );
if ( result1 )
cout << "The character '5' in the locale is "
<< "a hexidecimal digit-character." << endl;
else
cout << "The character '5' in the locale is "
<< " not a hexidecimal digit-character." << endl;
if ( result2 )
cout << "The character 'd' in the locale is "
<< "a hexidecimal digit-character." << endl;
else
cout << "The character 'd' in the locale is "
<< " not a hexidecimal digit-character." << endl;
if ( result3 )
cout << "The character 'q' in the locale is "
<< "a hexidecimal digit-character." << endl;
else
cout << "The character 'q' in the locale is "
<< " not a hexidecimal digit-character." << endl;
}
tolower
Convertit un caractère en minuscule.
template <class CharType>
CharType tolower(CharType Ch, const locale& Loc)
Paramètres
Ch
Caractère à convertir en minuscules.
Loc
Paramètres régionaux contenant le caractère à convertir.
Valeur de retour
Caractère converti en minuscules.
Notes
La fonction de modèle retourne use_facet<ctype<CharType>>( ). Loc
tolower( Ch
).
Exemple
// locale_tolower.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
using namespace std;
int main( )
{
locale loc ( "German_Germany" );
char result1 = tolower ( 'H', loc );
cout << "The lower case of 'H' in the locale is: "
<< result1 << "." << endl;
char result2 = tolower ( 'h', loc );
cout << "The lower case of 'h' in the locale is: "
<< result2 << "." << endl;
char result3 = tolower ( '$', loc );
cout << "The lower case of '$' in the locale is: "
<< result3 << "." << endl;
}
toupper
Convertit un caractère en majuscule.
template <class CharType>
CharType toupper(CharType Ch, const locale& Loc)
Paramètres
Ch
Caractère à convertir en majuscules.
Loc
Paramètres régionaux contenant le caractère à convertir.
Valeur de retour
Caractère converti en majuscules.
Notes
La fonction de modèle retourne use_facet<ctype<CharType>>( ). Loc
toupper( Ch
).
Exemple
// locale_toupper.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
using namespace std;
int main( )
{
locale loc ( "German_Germany" );
char result1 = toupper ( 'h', loc );
cout << "The upper case of 'h' in the locale is: "
<< result1 << "." << endl;
char result2 = toupper ( 'H', loc );
cout << "The upper case of 'H' in the locale is: "
<< result2 << "." << endl;
char result3 = toupper ( '$', loc );
cout << "The upper case of '$' in the locale is: "
<< result3 << "." << endl;
}
use_facet
Retourne une référence à une facette d'un type spécifié stocké dans des paramètres régionaux.
template <class Facet>
const Facet& use_facet(const locale& Loc);
Paramètres
Loc
Paramètres régionaux const contenant le type de facette référencé.
Valeur de retour
Référence à la facette de classe Facet
contenue dans les paramètres régionaux d’argument.
Notes
La référence à la facette retournée par la fonction de modèle reste valide tant qu’il existe une copie des paramètres régionaux contenants. Si aucun objet facette de classe Facet
de ce type n’est répertorié dans les paramètres régionaux d’argument, la fonction lève une exception bad_cast
.
Exemple
// locale_use_facet.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
using namespace std;
int main( )
{
locale loc1 ( "German_Germany" ), loc2 ( "English_Australia" );
bool result1 = use_facet<ctype<char> > ( loc1 ).is(
ctype_base::alpha, 'a'
);
bool result2 = use_facet<ctype<char> > ( loc2 ).is( ctype_base::alpha, '!'
);
if ( result1 )
cout << "The character 'a' in locale loc1 is alphabetic."
<< endl;
else
cout << "The character 'a' in locale loc1 is not alphabetic."
<< endl;
if ( result2 )
cout << "The character '!' in locale loc2 is alphabetic."
<< endl;
else
cout << "The character '!' in locale loc2 is not alphabetic."
<< endl;
}
The character 'a' in locale loc1 is alphabetic.
The character '!' in locale loc2 is not alphabetic.