Die meisten von uns müssen auf Fehler wie „STD :: String können nicht in char [] oder char* Datentyp konvertiert sein.Wir werden lernen, wie man in diesem Artikel eine Zeichenfolge in ein Charakter -Array übersetzt. Lassen Sie uns ein paar von ihnen nacheinander überprüfen.
All diese neuen Methoden helfen uns, die neue Technik zu erklären, um dasselbe zu tun, aber mit einem anderen Ansatz. Es wird unser Wissen erweitern, Probleme aus verschiedenen Blickwinkeln zu erkennen und verschiedene Ansätze zu erkennen und zu nutzen, um dieses Problem aus jeder Perspektive zu lösen.
Um Zeichenfolgen und Zeichen zu ändern und zu ändern, bietet C ++ einfache und effektive Techniken. Wir werden einige der grundlegendsten Feature Manipulationsfunktionen und einige Beispiele für die Verwendung durchgehen. Es zeigt auch, wie einige der Boost -Bibliotheksfunktionen verwendet werden, um die String- und Zeichenfunktionen von C ++ zu erweitern.
Lassen Sie uns zunächst eine Datei in unserem Terminal mit dem folgenden Befehl erstellen:
$ nano dev.CPP
Der obige Befehl öffnet eine C ++ - Datei zur Verwendung im Terminal von Alpine Linux 3.12.0, und jetzt können wir mit der Implementierung unserer Beispiele beginnen.
Beispiel 1:
Eine der ersten Methoden, die wir in unserem ersten Beispiel verwenden werden. Kopieren von Zeichenfolgendaten zu char können mit CSTRING -Bibliotheksfunktionen C_str () und strcpy () durchgeführt werden.
Grundsätzlich wird der Zeiger an ein Array zurücksend, das eine null-terminierte Reihenfolge von Zeichen enthält, die den aktuellen Wert der Zeichenfolge darstellt, c_str () wird verwendet.
Es gibt keine Änderungen in der Zeichenfolge, wenn eine Ausnahme ausgelöst wird. Verwenden der Funktion strcpy () kopieren wir von String nach char, wenn erforderlich, um einzelne Elemente zu ergreifen oder einzelne Elemente zu finden. Sobald wir es kopieren, können wir es als Array verwenden. Die Saitenlänge sollte nicht geringer sein als die Länge des Char -Arrays.
In diesem Beispiel werden wir zunächst unsere erforderlichen Bibliotheken in den Header setzen. In unserem Fall benötigen wir iOstream- und cstring -Bibliotheken. Wir haben beabsichtigen.”
Wir haben einen String S = "Entwickler" initialisiert, die Länge in einen Ganzzahlnamen "n" gespeichert und wir haben auch ein Zeichen -Array deklariert, in dem wir unsere konvertierten SHAR -Zeichen vor der Zeichenfolge speichern werden. Mit Strcpy () kopieren wir die Daten aus Zeichenfolge „S“ und legen sie in das Zeichen -Array ein.
Nachdem wir die Zeichenfolge erfolgreich konvertiert oder in ein Zeichen -Array kopiert haben, werden wir die Schleife zum Anzeigen oder Drucken der Zeichenzeichen verwenden, um sicherzustellen, dass wir dieselben Zeichen erhalten.
Wir werden ein C ++ - Programm mit den folgenden Befehlen zusammenstellen.
$ g ++ -o dev dev.CPP
Um zu überprüfen, ob unser Char -Array die kopierten Daten aus der Zeichenfolge „S“ erfolgreich erhalten hat oder nicht, müssen wir unser Programm mit dem folgenden folgenden Befehl ausführen:
$ ./dev
Die Ausgabe des folgenden Programms ist unten angegeben. Wie wir sehen können, haben wir unsere String S erfolgreich kopiert und konvertiert mit der Funktion von Strcpy ().
Beispiel # 2
Dieses Beispiel ist für diejenigen, die sich mit dem ersten Beispiel unwohl fühlen und ihr Wissen und ihre Praxis erweitern möchten. Dies ist vielleicht der machbarste und effektivste Ansatz. Die Position des ersten Zeichens der Zeichenfolge kann direkt einem Zeiger auf char zugeordnet werden. Wenn Ihre Argumentation jedoch ein Duplikat der Zeichenfolge erfordert, sollte dies die Methode der Wahl sein.
Im obigen Beispiel verwenden wir keine Kopierfunktionen wie strcpy (), aber das bedeutet nicht, dass wir es auf die harte Tour machen. Wir müssen klug denken.
Zuerst müssen wir ein Zeiger -Array deklarieren und initialisieren und es zu einem Array machen. Wir haben unser String -Objekt bereit, um in Form von STR („Developer“) umgewandelt zu werden. Wir haben dem Zeiger direkt das erste Objekt des String str -STR zugewiesen, der alle anderen Objekte entlang extrahiert.
Wenn wir beispielsweise „Chararray = & str [2]“ geben, wird es den Buchstaben „V“ im „Entwickler“ erfassen und alle anderen Objekte wie „Veloper“ drucken.Die Ausgabe des folgenden Programms ist unten angezeigt. Wie zu sehen ist, haben wir unsere Zeichenfolge erfolgreich in das char konvertierte, indem wir direktes Zeigen anstelle der Funktion von Strcpy () unter Verwendung eines Direkts char konvertiert haben.
Beispiel # 3
Dieses Beispiel ist für die Personen, die nach einem guten Beispiel ohne Funktion und einer integrierten Bibliothek für die Konvertierung suchen.
In Beispiel 3 verwenden wir einen einfachen Algorithmus, in dem wir die folgenden Schritte ausführen werden:
Das Ziel ist es, Strings in Chars umzuwandeln. Wir werden zunächst dem String -STR einen Wert zuweisen, den wir zu Char konvertieren möchten, was das Ziel unseres Programms ist. Wir werden für die Schleife verwenden und es zur Größe der Saitenlänge verlaufen.
In dieser Methode iterieren wir jeden Charakter der angegebenen Zeichenfolge und weisen sie alle dem jeweiligen Index des Char -Arrays zu. In der für Schleife setzen wir das Objekt jedes String -Objekts dem Objektwert des Zeichenarray.
Das Ergebnis des folgenden Programms ist unten gezeigt, was zu sehen ist. Wir haben eine einfache für die Schleife verwendet.
Beispiel #4
Im 4. Beispiel handelt. In diesem Programm gibt es nichts anderes von anderen Methoden; Wir müssen nur eine einfache Funktion von Copy () verwenden, die drei Argumente einnimmt: Beginnen Sie das Ende, Array -Name.
Zum Beispiel müssen wir String str in den Array -Namen des Charakters Chararray kopieren. Wir können die folgende Syntax verwenden:
# Kopie (str.begin (), str.End (), Chararray)
Nachdem wir die folgende Funktion mit der entsprechenden Syntax ausgeführt haben, können wir das folgende Array drucken, in das wir die folgende Zeichenfolge übertragen haben.
Infolgedessen haben wir die folgende Ausgabe, die uns zu unserem Ziel bringt, eine Zeichenfolge erfolgreich in ein Charakter -Array umzuwandeln.
Abschluss:
Am Ende hoffen wir, dass wir Sie dazu bringen konnten, einige der Beispiele durchzugehen, in denen Sie die Saite in mehr als eine Weise in den Charge konvertieren können. In dem obigen Artikel wurden die mehreren Techniken zum Konvertieren einer Zeichenfolge in Zeichen in Alpine Linux 3 erörtert.12.0. Um dies zu erreichen, haben wir vier verschiedene Techniken übergegangen, mit denen Sie eine Zeichenfolge in C ++ leicht in Zeichen konvertieren können. Diese drei verschiedenen Techniken waren die Funktion von Strcpy (), Copy () -Funktion, die Iteration für Schleife und Verwendung von Zeigern. Infolgedessen werden diese Erklärungen ziemlich nützlich eingehen, wenn Sie eine Zeichenfolge in Alpine Linux 3 in Zeichen konvertieren müssen.12.0 c++.