Die String-Klasse in C ++

Die String-Klasse in C ++
5 (100%) 4 Stimmen




c ++ String-Klasse, Programmieren für Anfänger

Verwenden Sie die Textinformationen während der Arbeit mit Datenbanken, Dateien, zum Empfangen und Senden von Nachrichten, Es ist ein integraler Bestandteil eines jeden Programmierer. Strings werden verwendet,, für interne Zwecke (Testen und Debuggen von Code), und zu lösen gemeinsam Probleme, Daten an den Client, Ihre GUI. Aus diesem Grund sollten Sie besondere Aufmerksamkeit schenken, wie eine Zeichenfolge in C ++ zu konstruieren, wie sie mit ihren grundlegenden Betrieb und die Methoden der Verarbeitung Objekten zu arbeiten, wie Schnur beschleunigt, oder mehr in geeigneter Weise in einer gegebenen Situation.

Streicher in C ++ kann eine sein Zeichen-Arrays verkohlen – Diese eingebauten Typ, die hat in C verwendet worden. Entweder Instanzen der Klasse Schnur, die in der Standard-C ++ Bibliothek enthalten. Es ist zu beachten, dass, wenn Sie ein Objekt dieser Art schaffen, bekommen wir fast eine sich dynamisch verändernden Array, dh. die, dass es keine Notwendigkeit, die Ausgangsgröße einzustellen, da können sie den Verlauf der Arbeit mit dem Wesen ändern.

Im ersten Fall wird die Zeile in Speicher plaziert, ein Array. Ein Zeigertyp verkohlen Es wird zugegriffen. Dieser Ansatz ist voller Fehler und ist sehr komplex, Es umgesetzt als niedrig. Klasse Objekte Schnur erleichtern die Arbeit, durch sie, können Sie den Zugriff auf die Standard-String-Operationen erhalten. Sie gehören zu einem Namespace stl (Standard Template Library). Zur weiteren Verwendung der Standard-C-Bibliothek, müssen Sie die Header-Datei verbinden:

Das einfachste Beispiel für eine Variable vom Typ String verwendet, wird es auf dem Bildschirm zu entfernen. Aber die Aufgabe erschweren und zu versuchen, für den Anfang, ein String-Wert betrachtet, und dann arbeiten.

Verfahren getline() Es ermöglicht Lesedaten von Strom Gin, und brennen sie in der Variablen, welches nach dem Komma angegeben.

Im Fall von, wenn Sie brauchen, um eine Variable zu initialisieren, wenn es erstellt wird, sollten Sie die folgende Syntax verwenden:

Betrachten Sie die grundlegenden Methoden der Klasse Schnur, die es Ihnen ermöglichen, die Linie zu ändern und Informationen über ihre Möglichkeiten zu erhalten.

Zwei Verfahren können verwendet werden, um die Kettenlänge zu erhalten,. Einer von ihnen Größe() andere Länge(). Beide Methoden liefern eine numerische Anzahl von Zeichen. Aber es sollte bemerkt werden,, dass die Nummerierung der Elemente in dem Array String beginnt noch mit 0.

Eintrag für die Überprüfung:

Als nächstes sehen wir, Beide Methoden liefern die gleichen Werte.

mit Strings in C ++ arbeiten, класс String C ++, Methoden Länge() и Größe()

Um zu überprüfen, auf das Vorhandensein eines Strings mit variablen Daten nutzt Funktion leer(), das gibt einen booleschen Wert ( 0 wenn falsch oder 1 wenn wahr). Diese Operation ist nützlich,, wenn Sie brauchen, um sich vor Datenverlust zu schützen.
So setzen Sie die String-Variable-Methode verwendet wird klar(). Als Ergebnis nach der Ausführung myString.size() Rückkehr 0, und myString.empty() – Bedeutung wahr, dh. 1.
Code Listing Funktionen zum Überprüfen:

Performance-Ergebnisse:
mit Strings in C ++ arbeiten, класс String C ++

Betrachten wir nun die weniger triviale Operationen, das wird Zeit und Mühe von Programmierern sparen, sowie die Vermeidung der Verwendung von massiven Schleifen jeder der String-Array zu iterieren.

Funktion push_back (verkohlen) Es ermöglicht Ihnen, bis zum Ende der aktuellen Zeile ein beliebiges Zeichen eingeben hinzufügen verkohlen. Dabei, wir brauchen eine Wiederherstellung nicht von dem neuen String-Wert, die alte Variable wird einfach geändert werden.

Klasse Schnur Es ermöglicht Ihnen, zwei Saiten gleichzeitig zu manipulieren, Werte von einem zum anderen zu schreiben. Zu diesem Zweck sollte die Betreffzeile die Methode aufrufen einfügen (int startInResultString, String aus, int startInSourceString, int Menge). wo startInResultString – Zelle in der Zeile Startposition, in dem die neuen Daten zu erfassen, dh. werden die neuen Werte aus diesem Index platziert werden. Klein Variable von ist eine Linie, von der Daten getroffen werden, Alle weiteren Parameter sind insbesondere darauf. Der Anfangswert des Index, von dem Kopieren von Daten zu starten angezeigt startInSourceString. insgesamt Symbole, dass aus der Zeichenfolge kopiert von angezeigt Menge, Zählen wird mit dem Start-Index ausgeführt Start.
Code Listing ermöglicht es besser, die Funktion der Eingangsparameter verstehen.

Codeausführung Ergebnisse:

mit Strings in C ++ arbeiten, класс String C ++

Es war nicht alles abgebaut, aber die am häufigsten verwendeten Funktionen für mit String-Objekten arbeiten. Klasse Vorteil Schnur Es ist die einfache Bedienung und eine große Anzahl von Methoden unterstützen. Dennoch, String-Objekte behandelt werden langsam. In einigen Fällen kann es die Integrität der Linie passieren, Datenverlust oder brechen, die dann nicht so sein in zu bringen, visuell zu überprüfen.

Experiment – Erstellen Sie ein Objekt der Klasse Schnur und rufen ihre Methoden on-line. Versuchen Sie, sich zu verstehen,, was sie tun und wie sie funktionieren. In vielen Lehrbüchern unabhängig schreiben angeboten, um Ihre eigene (sicherlich gezähmt) Klasse für die Arbeit mit Strings. Es ist einfach und Sie werden verstehen, perfekt die gleiche Zeit, Wie ist die wirkliche Klasse Schnur. Wir werden für Sie einige Aufgaben vorbereiten, dieses Material zu sichern.

Seien Sie sicher, dass das Video auf der Klasse zu sehen (Autor Dennis Markov):

Newsletter neue Lektionen über die Programmierung:

7 Gedanken zu "Die String-Klasse in C ++

  1. Guter Artikel, Es ist vielleicht die beste in der gesamten Serie von Artikeln sein – auf das Gleichgewicht der Detail und Einfachheit.

    Nur nicht verstehen, warum überall im Text einer Klasse namens String (mit einem Kapital), auch wenn in den Beispielen wird es immer als String verwendet (mit einem kleinen Buchstaben). Wenn Sie den Code String schreiben, dann sofort eine grobe Syntaxfehler erhalten.

  2. Eine weitere gute Sache zu erwähnen,, auch lässig (oder ein anderes Thema im Zuge, “Verwendung Zeichenfolge”?):

    1. daß der Saite immer möglich ist “Extrakt” Je vertrauter Idee char * (im Stil von C) методом c_str():
    string s = “xxx”;
    char * c = s.c_str();

    2. a + = überdeterminiert Operationen und + bespannen, als String-Verkettung:
    String h = “Hallo “, w = “Welt”;
    cout << h + w << endl;
    h + = w;
    cout << h << endl;

    3. einer ganzen großen Gruppe von Methoden, Darstellung von Linien für das Bild von numerischen Werten:
    Zeichenfolge d( "123" ), f( "1.23" );
    lange i = d.stoul();
    schweben z = d.stof();

  3. und last … Bemerkung:
    > Beide Methoden liefern eine numerische Anzahl von Zeichen.

    Länge() и Größe() die Anzahl der Zeichen nicht zurück, und die Anzahl der Bytes in der Zeichenfolge Inhalt. Für ASCII (Englisch) Zeichen – es beläuft sich auf die gleiche Sache. Aber für Russisch (und andere Sprachen) – Nein, und es hängt von der verwendeten Codierung.

    , welche auch immer, in dem der Herausgeber und welche Codierung arbeiten mit dem Programmcode.

    Die genauen Werte sind nicht wichtig… Aber es ist wichtig zu wissen,, dass Länge() и Größe() nicht die geschätzte Anzahl von Zeichen zur Verfügung stellen für die russischen Linien, das kann zu Fehlern führen wird gefunden schwierig!

  4. #einschließen
    #einschließen
    using namespace std;

    int main()
    {
    String myString; // erstellen Sie eine Variable, в которую поместим строку

    cout << "What is your name? ";
    getline(Gin, myString); // считываем введенную строку

    cout << "Hey, " << myString << "! \n"; // Wir leiten den Wert der Variablen auf dem Schirm
    }
    У меня почему-то getline(Gin, myString); не робит

    1. Извиняюсь, что не в

Hinterlasse eine Antwort

Platz Code in Tags: <pre class="lang:c ++ dekodieren:true ">DEIN CODE</Vor>