str |
Top Previous Next |
Skripte > Klassen-Elemente und C++-Befehle > interpretierte C++-Anweisungen > str
Syntax
str <bezeichner> ;
Beschreibung
str ist die Interpreter-Version von std::string oder std::wstring. Im erzeugten Code ist str definiert durch: typedef std::string str, bzw. für Unicode-Parser durch: typedef std::wstring str.
Eine str-Variable enthält eine Kette von Zeichen, d.h. einen Text. Zu diesen Zeichen zählen auch die Steuerzeichen, die aus der Kombination eines Backslashs mit anderen Zeichen bestehen. Z.B. '\n' ist das Zeilenumbruchszeichen. Um ein ein Backslash-Zeichen in seiner literalen Bedeutung in einem String zu verwenden, muss ihm ein zweites Backslash-Zeichen vorangestellt werden: '\\'
Beispiel:
str s = "C:\\TextTransformer\\bin"; // falsch: "C:\TextTransformer\bin"
Weitere auf dem Bildschirm nicht darstellbares Zeichen können durch andere Escape-Sequenzen repräsentiert werden.
Aneinander angrenzende String-Literale werden zu einem einzigen String-Literal verschmolzen. So kann man längere Texte übersichtlicher gestalten.
Beispiel:
str s = "/****************************\n" "* Dies ist ein Kommentar *\n" "****************************/\n";
Im Unterschied zu den bisherigen Variablentypen ist str kein Grundtyp sondern ein abgeleiteter Typ (eine Klasse), der über Methoden verfügt, die Informationen über den enthaltenen Text liefern oder dessen Manipulation erlauben:
a) Befehle, die Textinformationen liefern
bool empty() const gibt zurück, ob der String leer ist unsigned int size() const gibt die Anzahl der Zeichen des Strings zurück unsigned int length() const gibt die Anzahl der Zeichen des Strings zurück
Eine ganze Familie von Methoden dient dem Auffinden bestimmter Positionen innerhalb eines Strings.
Teilstrings:
void substr(int from, int count) const void substr(int from) const
gibt den Abschnitt des Strings zurück, der mit dem Zeichen beginnt, dessen Index from ist und der die Länge count hat. Falls der String keine count Zeichen mehr enthält, werden so viele zurückgegeben wie enthalten sind. Wird der zweite Parameter weggelassen, so werden alle Zeichen ab from zurückgegeben.
Index-Operator
Einzelne Zeichen des Strings können über ihren Index ermittelt werden. Das erste Zeichen hat den Index 0 und das letzte den Index size() - 1.
str s = "TextTransformer"; char c = s[5]; // jetzt gilt: c == 'r'
Es ist nicht möglich einzelne Zeichen über den Index des Strings zu ändern. Verwenden sie hierzu die replace-Methode (s.u.)
b) Manipulation von Texten:
void clear() löscht alle Zeichen aus dem String
str& replace(unsigned int pos, unsigned int len, const str& s)
Ersetzt (maximal) len Zeichen ab der Position pos durch sämtliche Zeichen von s. Eine Referenz auf den String selbst wird zurückgegeben.
Beispiel:
str s = "wood"; out << s.replace(0, 1, "g") << " "; out << s;
Ausgabe: good good
|
Diese Seite gehört zur TextTransformer Dokumentation |
Home Inhalt English |