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