System.AnsiStringT
C++
class RTL_DELPHIRETURN AnsiStringT : public AnsiStringBase
Inhaltsverzeichnis
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
class | public | dstring.h | System | System |
Beschreibung
AnsiStringT ist die C++-Entsprechung des Delphi-Datentyps für lange Strings.
In AnsiStringT können Methoden/Member aufgenommen werden, die allen Instantiierungen der Template-Klasse AnsiStringT<Codeseite>
gemeinsam sind. Außerdem ist es eine Template-Klasse, die bei der Behandlung eines Delphi-AnsiString verwendet wird, für den eine Codeseite angegeben ist, und enthält Code für die jeweilige Codeseite.
Trotz des Namens ist AnsiStringT nicht auf den ANSI-Zeichensatz beschränkt, sondern kann jeden Zeichensatz verwenden, der vom aktuell definierten Gebietsschema unterstützt wird, einschließlich Multibyte- oder Unicode-Zeichensätze.
Delphi verwendet mehrere String-Typen, einer davon ist allgemein als AnsiString bekannt. Die Unterstützung für diesen Typ umfasst die folgenden Funktionen:
- Strings können so groß wie der verfügbare Arbeitsspeicher sein.
- Eine effiziente Speichernutzung wird durch gemeinsame Referenzen gewährleistet.
- Routinen und Operatoren werten Strings auf der Grundlage des aktuellen Gebietsschemas aus.
Vorbereitende Maßnahmen
Beachten Sie bei der Verwendung von AnsiStringT die folgenden Hinweise:
- AnsiString selbst ist eine Typedef-Entsprechung zu
AnsiStringT<Codeseite>
. In C++ können Sie AnsiStringT direkt verwenden oder einen Alias wie in Delphi erstellen. - AnsiStringT-Variablen, denen kein Anfangswert zugewiesen wurde, enthalten einen String der Länge Null (0).
- Für die Verwendung der C++-Streaming-Operatoren (<< und >>) mit AnsiStringT müssen Sie iostream vor system.hpp einbeziehen oder mit AnsiStringT::c_str() die interne String-Repräsentation zurückgeben. </br> Im folgenden Beispiel wird der Einsatz von AnsiString mit Streaming-Operatoren für beide Arten veranschaulicht:
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();
}
|