Espaces de noms
Variantes
Affichages
Actions

Bibliothèque de chaînes de caractères

De cppreference.com
< cpp


 
 
Bibliothèque de chaînes de caractères
Chaînes à zéro terminal
Original:
Null-terminated strings
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Les chaînes d'octets
Chaines multi-octets
Les chaînes étendues
Classes
Original:
Classes
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
basic_string
char_traits
 

La bibliothèque C++ de chaînes de caractères prend en charge deux types de chaînes :

  • std::basic_string - une classe modèle conçue pour manipuler des chaînes de tout type de caractère.
  • Chaînes à zéro terminal - des tableaux de caractères terminés par un caractère nul spécial.

Sommaire

[modifier] std::basic_string

La classe modèle std::basic_string généralise la manière dont les séquences de caractères sont manipulées et stockées. La création de chaines, leur manipulation et leur destruction sont gérées par un ensemble pratique de méthodes ou d'autres fonctions.

Plusieurs spécialisations de std::basic_string sont fournies pour les types communément utilisés :

Defined in header <string>
Type Définition
std::string std::basic_string<char>
std::wstring std::basic_string<wchar_t>
std::u16string std::basic_string<char16_t>
std::u32string std::basic_string<char32_t>

[modifier] Chaînes à zéro terminal

Les chaînes à zéro terminal sont des tableaux de caractères qui sont terminés par un caractère nul spécial. C++ fournit des fonctions pour créer, inspecter et modifier les chaînes à zéro terminal.

Il existe trois types de chaînes à zéro terminal :

[modifier] Prise en charge supplémentaire

[modifier] char_traits

La bibliothèque fournit également un modèle de classe char_traits qui définit des types et des fonctions de std::basic_string. Les spécialisations suivantes sont définies :

Defined in header <string>
template<> class char_traits<std::string>;

template<> class char_traits<std::wstring>;
template<> class char_traits<std::u16string>;

template<> class char_traits<std::u32string>;


(depuis C++11)
(depuis C++11)