Partager via


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.

Voir aussi

<locale>