System.AnsiStringT
C++
class RTL_DELPHIRETURN AnsiStringT : public AnsiStringBase
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
class | public | dstring.h | System | System |
Description
AnsiStringT est l'analogue C++ du type chaîne longue de Delphi.
AnsiStringT fournit un espace pour les méthodes et les membres communs à toutes les instanciations de la classe template AnsiStringT<CodePage>
. Il s'agit en outre d'une classe template utilisée lors de la gestion d'un AnsiString Delphi, avec une page de code spécifiée et du code pour chaque page de code spécifique.
Malgré son nom, AnsiStringT n'est pas limité au jeu de caractères ANSI et peut utiliser tout jeu de caractères supporté par la définition des paramètres régionaux en cours, notamment les jeux de caractères multi-octets ou Unicode.
Delphi utilise plusieurs types chaînes, l'un d'entre eux étant communément appelé AnsiString. La prise en charge de ce type inclut les fonctionnalités suivantes :
- Les chaînes peuvent être aussi grandes que la mémoire disponible.
- Une utilisation efficace de la mémoire est garantie au travers des références partagées.
- Les routines et les opérateurs évaluent les chaînes en fonction des paramètres régionaux locaux.
Considérations
Tenez compte des notes suivantes lorsque vous utilisez AnsiStringT :
- AnsiString est lui-même un typedef équivalent à
AnsiStringT<CodePage>
. Dans C++, vous pouvez utiliser AnsiStringT directement ou créer un alias, comme dans Delphi. - Les variables AnsiStringT auxquelles il n'a pas été affecté de valeur initiale contiennent une chaîne de longueur nulle.
- Pour utiliser les opérateurs de flux C++ (<< et >>) avec AnsiStringT, vous devez inclure iostream avant system.hpp ou utiliser AnsiStringT::c_str() pour renvoyer la représentation interne de la chaîne. </br> L'exemple suivant montre deux façons d'utiliser AnsiString avec des opérateurs de flux :
Option 1 | Option 2 |
---|---|
#include <System.hpp>
int main() {
AnsiString HelloStr = "hello";
std::cout << HelloStr.c_str();
}
|
#include <iostream>
#include <System.hpp>
int main() {
AnsiString HelloStr = "hello";
std::cout << HelloStr.c_str();
}
|