string functions c
In diesem Tutorial werden einige der beliebtesten Zeichenfolgenfunktionen in C ++ erläutert, z. B. getline-Teilzeichenfolge, Zeichenfolgenlänge, Zeichenfolgensuche, geteilte Zeichenfolge usw.:
C ++ verfügt über eine Zeichenfolgenklasse, die für eine Zeichenfolge verwendet wird, die auch als Zeichenfolgen bezeichnet wird. Diese Klasse ist std :: string . Diese Klasse speichert die Zeichenfolgen als Folge von Zeichenbytes und bietet Funktionen, mit denen wir die Zeichenfolgen bearbeiten, darauf zugreifen und lesen sowie auf einzelne Zeichen zugreifen und diese bearbeiten können.
ba Interview Fragen und Antworten pdf
=> Besuchen Sie hier für den vollständigen C ++ - Kurs von Experten.
Was du lernen wirst:
C ++ - String-Funktionen
C ++ - Zeichenfolge ist eine Folge von Zeichen. Wenn wir Zeichenfolgen in C ++ definieren, verwenden wir eine Zeichenfolge
Schlüsselwort, das nichts anderes als die Klasse std :: string ist. Diese Zeichenfolgenklasse unterstützt verschiedene Funktionen wie Lesen einer Zeichenfolge, Bearbeiten, Zugreifen auf eine Zeichenfolge usw., die unterschiedliche Operationen an Zeichenfolgenobjekten ausführen. Einige häufig verwendete Funktionen sind unten aufgeführt.
Unterlassen Sie | String-Funktionen | Beschreibung |
---|---|---|
1 | getline | Ruft die Zeile vom Stream zum String ab |
zwei | substr | Holen Sie sich einen Teilstring einer bestimmten Zeichenfolge |
4 | Länge, strlen | Holen Sie sich die Länge der Zeichenfolge |
5 | Finden | Suchen Sie nach Inhalten in einer Zeichenfolge |
6 | Strtok, Teil mit Trennzeichen | Teilung der Zeichenfolge in Token |
getline C ++
Funktionsprototyp: istream & getline (istream & is, string & str)
Parameter: is => istream Objekt, aus dem die Zeichen extrahiert werden.
str => String-Objekt, das zum Speichern des extrahierten Zeichens verwendet wird.
Rückgabewert: Der Rückgabewert ist der gleiche wie istream. Intern setzt die Ausführung der getline bestimmte interne Flags wie folgt.
Flagge | Fehlerbeschreibung |
---|---|
Eofbit | Ende der Zeichenquelle erreicht |
Failbit | Die Eingabe kann nicht als gültige Textdarstellung des Objekts dieses Typs interpretiert werden |
Badbit | Jeder andere Fehler außer den beiden oben genannten |
Beschreibung: getline ist eine Standardbibliotheksfunktion. Diese Funktion wird verwendet, um eine Zeile oder einen String aus einem Standardeingabestream wie istream zu lesen. Die Zeilen oder Zeichenfolgen werden gelesen, bis ' n', das als Begrenzungszeichen betrachtet wird, angetroffen wird.
Als andere Version von getline kann ein dritter Parameter 'char delim' angegeben werden. Dies ist ein explizit angegebenes Trennzeichen. In dieser Funktion wird eine Textzeile oder Zeichenfolge gelesen, bis das angegebene Trennzeichen gefunden wird.
Im Folgenden finden Sie ein einfaches Beispiel für die Verwendung von getline.
Beispiel:
#include #include using namespace std; int main() { string mystr; cout<<'Enter the input string:'< Ausgabe:
Geben Sie die Eingabezeichenfolge ein:
C ++ - Tutorials
Sie haben Folgendes eingegeben: C ++ - Tutorials
Im obigen Beispiel lesen wir eine Eingabezeichenfolge mit der Funktion getline. Beachten Sie, dass die eingegebenen Zeichenfolgen oder Texte in das Zeichenfolgenobjekt mystr eingelesen werden, bis ' n' gefunden wird.
C ++ Substr
Funktionsprototyp: string substr (size_t startpos, size_t endpos)
Parameter: startpos => Startposition, von der aus der Teilstring extrahiert werden soll.
endpos => Endposition des Teilstrings.
Rückgabewert: Gibt eine Zeichenfolge zurück, die eine Teilzeichenfolge der übergeordneten Zeichenfolge ist.
Beschreibung: Diese Funktion gibt einen Teilstring einer bestimmten Zeichenfolge zurück. Die Funktion nimmt die Start- und Endpositionen als Parameter und gibt dann die Zeichenfolge zwischen diesen Positionen zurück.
Beispiel:
#include #include using namespace std; int main() { string mystr = 'SoftwareTestingHelp'; string mysub = mystr.substr(0,8); cout<<'Input string : '< Ausgabe:
Eingabezeichenfolge: SoftwareTestingHelp
Teilzeichenfolge (0,8): Software
C ++ Länge
Die Länge der Zeichenfolge entspricht der Anzahl der in der Zeichenfolge vorhandenen Zeichen. Die std :: string-Objektdarstellung von Strings in C ++ verwendet die length () -Funktionen, um die Länge des Strings zurückzugeben.
Abgesehen davon haben wir auch eine Größenmethode, die die Größe der Zeichenfolge zurückgibt. Wir haben die Größenmethode in dem unten gezeigten Beispiel für die Funktion length () verwendet. Eine weitere Funktion, die die Länge der Zeichenfolge zurückgibt, ist 'strlen'. Diese Funktion gibt die Länge der Zeichenfolge zurück, die durch ein Zeichenarray angegeben wird.
Wir werden beide Funktionen einzeln anhand von Beispielen sehen.
Länge()
Java, wie man ein Element aus einem Array entfernt
Funktionsprototyp: size_t length ()
Parameter: Wird von der Zeichenfolge aufgerufen, deren Länge ermittelt werden soll.
Rückgabewert: Gibt einen Parameter vom Typ size_t zurück, der die Länge der Zeichenfolge angibt.
Beschreibung: Diese Funktion ermittelt die Länge des Zeichenfolgenobjekts, mit dem es aufgerufen wird.
Beispiel:
#include #include using namespace std; int main() { string mystr = 'SoftwareTestingHelp'; cout<<'Input string : '< Ausgabe:
Eingabezeichenfolge: SoftwareTestingHelp
Die Länge der Zeichenfolge (mit Längenmethode) beträgt: 19
Die Größe der Zeichenfolge (mit Größenmethode) beträgt: 19
Im obigen Programm verwenden wir die Längen- und Größenfunktionen des std :: string, der die Länge bzw. Größe des String-Objekts zurückgibt. Da Länge und Größe die Anzahl der Zeichen in der Zeichenfolge zurückgeben, erhalten wir dieselbe Ausgabe.
strlen ()
Funktionsprototyp: size_t strlen (const char * str);
Parameter: str => Zeiger auf eine nullterminierte Zeichenfolge, deren Länge ermittelt werden soll.
Rückgabewert: R. eturns size_t Wert, der die Länge des Strings str angibt.
Beschreibung: Die Funktion strlen () gibt die Länge der nullterminierten Zeichenfolge zurück. Die Zeichenfolge, die von der Funktion strlen als Parameter verwendet wird, ist ein nullterminiertes Zeichenarray.
Beispiel:
#include #include using namespace std; int main() { char mystr1() = 'This a our first string'; char mystr2() = 'This is our second string'; int len_mystr1 = strlen(mystr1); int len_mystr2 = strlen(mystr2); cout << 'Length of mystr1 = ' << len_mystr1 << endl; cout << 'Length of mystr2 = ' << len_mystr2 << endl; if (len_mystr1> len_mystr2) cout << 'mystr1 is longer than mystr2'; else if (len_mystr1 < len_mystr2) cout << 'mystr2 is longer than mystr1'; else cout << 'mystr1 and mystr2 are equal in length'; return 0; }
Ausgabe:
Länge von mystr1 = 23
Länge von mystr2 = 25
mystr2 ist länger als mystr1
Im obigen Programm haben wir zwei verschiedene Zeichenfolgen definiert und ermitteln ihre individuelle Länge mithilfe der Funktion strlen. Dann vergleichen wir die Länge der beiden Zeichenfolgen und stellen fest, ob die Zeichenfolgen gleich oder ungleich sind.
C ++ Suchen
Funktionsprototyp: size_t find (string mysub)
Parameter: mysub => String-Objekt, das in der übergeordneten Zeichenfolge gefunden werden soll.
Rückgabewert: size_t => Erste Position des Teilstrings in der übergeordneten Zeichenfolge
Beschreibung: Die Suchfunktion der Zeichenfolge wird verwendet, um die Position der Teilzeichenfolge in der übergeordneten Zeichenfolge zu ermitteln. Diese Funktion wird von der übergeordneten Zeichenfolge aufgerufen und ein Teilstring, dessen Position gefunden werden soll, als Parameter übergeben. Wenn der Teilstring nicht vorhanden ist, wird eine leere Position zurückgegeben.
Beispiel:
#include #include using namespace std; int main() { string mystr = 'SoftwareTestingHelp'; string mysub = 'Test'; size_t pos = mystr.find(mysub); if (pos != string::npos) cout << 'First occurrence of string '< Ausgabe:
Erstes Auftreten des Stringtests: 8
Erstes Auftreten der Zeichenfolge Hilfe: 15
Dieses Programm definiert eine Zeichenfolge als 'SoftwareTestingHelp'. Mit der Suchfunktion finden wir das erste Vorkommen der Zeichenfolge 'Test' in der übergeordneten Zeichenfolge. Als nächstes finden wir das Auftreten der Zeichenfolge 'Hilfe'. Die Ausgabe ist die Position des Auftretens der gesuchten Zeichenfolge.
Geteilte Zeichenfolge
Das Teilen einer Zeichenfolge mithilfe eines Trennzeichens oder eines Tokens ist eine nützliche Operation. In C ++ können wir, da wir mehr als eine Darstellung von Zeichenfolgen haben, verschiedene Ansätze zum Teilen einer Zeichenfolge verwenden. Hier werden zwei Ansätze zum Teilen eines Strings diskutiert.
Aufteilen des std :: string-Objekts
Der einfachste Ansatz zum Teilen eines String-Objekts besteht darin, die Funktion 'substr' für das Objekt zu verwenden und das Trennzeichen als Endposition anzugeben, damit wir den Teilstring erhalten. Auf diese Weise können wir die Zeichenfolge im Trennzeichen teilen, bis wir die gesamte Zeichenfolge durchlaufen haben.
Sehen wir uns das folgende Beispiel an, in dem zuerst die Position des Trennzeichens mithilfe der Funktion 'Suchen' ermittelt wird, dann die Teilzeichenfolge gefunden wird und schließlich alle Token ausgegeben werden.
#include #include using namespace std; int main() { string mystr = 'This_is_software_testing_help'; string delimiter = '_'; size_t pos = 0; string token; while ((pos = mystr.find(delimiter)) != std::string::npos) { token = mystr.substr(0, pos); cout << token << endl; mystr.erase(0, pos + delimiter.length()); } cout << mystr<< endl; }
Ausgabe:
Dies
ist
Software
testen
Hilfe
Wie im obigen Programm gezeigt, geben wir ein Trennzeichen an, das zum Teilen der angegebenen Zeichenfolge verwendet wird. In einer Schleife finden wir wiederholt das Auftreten eines Trennzeichens mithilfe der Suchfunktion und übergeben es an die Substr-Funktion und rufen den Teilstring ab. Dann wird jeder dieser erhaltenen Token als Ausgabe angezeigt.
Teilen des Zeichenarrays mit der Funktion strtok
Eine andere Möglichkeit zum Tokenisieren einer Zeichenfolge (Teilen einer Zeichenfolge mithilfe eines Trennzeichens) ist die Verwendung der Funktion 'strtok'. Wir werden die Besonderheiten der Funktion 'strtok' weiter unten diskutieren.
Funktionsprototyp: char * strtok (char str (), const char * delim)
Parameter: str () => Zu teilender String.
Delim => Trennzeichen, auf das die Zeichenfolge aufgeteilt werden soll.
Rückgabewert: Gibt das nächste Token nach dem Teilen der übergeordneten Zeichenfolge zurück.
Beschreibung: Die strtok-Funktion teilt die angegebene Zeichenfolge in Token auf bestimmten Trennzeichen auf. Diese Funktion muss in einer Schleife aufgerufen werden, damit wir alle Token für eine bestimmte Zeichenfolge erhalten. Wenn keine Token mehr vorhanden sind, gibt die Funktion null zurück.
Beispiel:
Kopieren Sie DVD-Filme kostenlos auf die Festplatte
#include #include using namespace std; int main() { char mystr() = 'This_is_software_testing_help'; char *token = strtok(mystr, '_'); while (token != NULL) { cout< Ausgabe:
Dies
ist
Software
testen
Hilfe
Beachten Sie, dass wir in diesem Programm die Funktion strtok verwenden, die einen String und ein Trennzeichen als Argumente verwendet. Anschließend wird die Zeichenfolge basierend auf dem angegebenen Trennzeichen in das Token aufgeteilt und die einzelnen Token angezeigt.
Fazit
Wir haben in diesem Tutorial einige der allgemeinen wichtigen Funktionen gesehen, die für C ++ - Zeichenfolgen verwendet werden.
Wir haben die Funktionen zum Lesen einer Eingabezeichenfolge, zum Suchen einer Zeichenfolge, zum Teilstring der übergeordneten Zeichenfolge, zur Länge der Zeichenfolge, zum Teilen einer Zeichenfolge usw. sowie deren Variationen erläutert. Diese Funktionen helfen uns, Zeichenfolgen effizient zu lesen und zu bearbeiten.
In unserem nächsten Tutorial werden wir einige der mit C ++ - Zeichenfolgen verwendeten Konvertierungsfunktionen im Detail sehen.
=> Besuchen Sie hier, um die gesamte C ++ - Schulungsserie für alle zu sehen.
Literatur-Empfehlungen
- Python-String-Funktionen
- Java String mit String Buffer und String Builder Tutorial
- C ++ - Zeichenkonvertierungsfunktionen: char to int, char to string
- VBScript-Zeichenfolgenfunktionen: VBScript inStr-, Replace-, Mid- und Trim-Funktionen
- Python String Split Tutorial
- C # String Tutorial - String-Methoden mit Codebeispielen
- Python-Funktionen
- String Array C ++: Implementierung und Darstellung mit Beispielen