C ++ - String -Funktion

C ++ - String -Funktion
Eine Zeichenfolge wird als eine Art von Daten klassifiziert und typischerweise als Array von Byte- oder Zeichendatenstrukturen dargestellt, die mehrere Elemente aufzeichnen sollen, normalerweise Zeichen. Konzeptionell ist es identisch mit dem Charakter -Array der C -Sprache. In C ++ gibt es jedoch eine bestimmte Klasse mit mehreren nützlichen Attributen und Methoden, die eine bessere und umfassendere Behandlung der String -Datenstruktur ermöglichen, die mit Zeichen Arrays möglich ist. Dynamische Speicherzuweisung wird für Zeichenfolgen verwendet. Dies impliziert, dass Sie Ihr Objekt mit einer vorbestimmten Größe initialisieren müssen, die Sie für die Dauer des gesamten Code nicht ändern können.

Um String -Funktionen in C ++ zu verwenden, müssen wir zunächst die Bibliothek enthalten, die String -Funktionen enthält. Das String -Objekt kann eine Vielzahl von Verhaltensweisen und mehreren Aktionen in der Lage sein. Eine Vielzahl von Saitenfunktionen; einschließlich Strcat, Strlen, STRCMP, STRCPY, SWAP und vielem mehr werden von der „String.H ”Bibliothek in C++.

Methoden, die in String -Funktionen verwendet werden

In C ++ werden die folgenden String -Funktionen verwendet, um die gewünschte Ausführung problemlos zu erhalten.

STRCPY (var1, var2);
Es ist die Funktion, mit der eine Zeichenfolge der Variablen in eine andere Zeichenfolge kopiert wurde. Mit anderen Worten, wir können sagen, dass die var1 Der Wert wird dem zugewiesen var2.

Strcat (var1, var2);
STRCAT ist für die Zusammenführung von zwei Variablen verantwortlich. Zum Beispiel wenn var1 enthält den Wert Mein Und var2 enthält Artikel dann der resultierende Wert von STRCAT (var1, var2); wird sein Mein Artikel.

Strlen (var1);
Diese Funktion wird verwendet, um die Wörter der Zeichenfolge zu zählen, die an sie übergeben wird. Als Ergebnis wird die Länge der Zeichenfolge zurückgegeben.

STRCMP (var1, var2);
STRCMP wird verwendet, um zwei Zeichenfolgen zu vergleichen und gibt einen Wert zurück 0 Wenn die Zeichenfolge var1 Und var2 sind gleich; kehrt weniger zurück als 0 ist var1 größer als var2 und wird größer als 0 ist der var1 ist weniger als var2.

strChr (var1, r);
strChr wird verwendet, um in einer Zeichenfolge nach einem Zeichen zu suchen. In der obigen Initialisierung haben wir eine Funktion verwendet strChr. Wenn wir in einer Zeichenfolge nach dem Zeichen suchen wollen, var1 ist die Variable, die eine Zeichenfolge enthält Mein Artikel. In dieser Zeichenfolge möchten wir nach einem Charakter suchen R Es wird einen Zeiger zurückgeben, wenn der Brief R wird zum ersten Mal auftreten.

strstr (var1, var2);
Es wird verwendet, um nach einer Zeichenfolge in einer anderen Zeichenfolge zu suchen, in strstr (var1, var2); Wir haben zwei benannte Saiten vorbeigegangen var1 Und var2 in welchem var1 ist aus abgerufen var2 Sobald wir die gewünschte Zeichenfolge bekommen, wird der Zeiger zurückgegeben.

Beispiel 1: Verwenden von Methoden der String -Funktionen

Schauen wir uns die erste Instanz an.

#enthalten
#enthalten
Verwenden von Namespace STD;
int main ()
char var1 [12] = "mein";
char var2 [12] = "Artikel";
char var3 [12];
int Länge;
STRCPY (var3, var1);
Cout <<"strcpy( var3, var1) : "<< var3 << endl;
Strcat (var1, var2);
Cout <<"strcat( var1, var2): "<< var1 << endl;
Länge = strlen (var1);
Cout <<"strlen(var1) : "<< length << endl;
Rückkehr 0;

Wir geben zuerst die Header -Datei ein #enthalten Das ist eine Bibliothek mit den vordefinierten Methoden CIN Und Cout Das wird für Eingabe- und Ausgangsanlagen in C eingesetzt++. Danach haben wir unsere String-Header-Datei definiert, mit der wir String-integrierte Funktionen wie strcpy, strstr, strcat usw. verwenden können.

Als nächstes haben wir die benutzt Verwenden von Namespace STD; Header -Datei, die verwendet wird, weil wir keine Variablen, Funktionen usw. haben können. mit dem gleichen Namen in der Programmierung. Wir beschäftigen uns deshalb Namespaces Um diese Konflikte zu verhindern.

Annäherung an unsere Hauptfunktion, die ist int main (), Int ist der Ganzzahltyp, der der Rückgabetyp eines Codes ist. Das Betriebssystem, das unseren Code ausführt, ruft die Hauptfunktion auf. Ein einzelnes Programm kann eine unbegrenzte Anzahl von Funktionen enthalten, aber es kann nur eine Hauptfunktion enthalten.

Danach haben wir unsere String -Variablen initialisiert var1 der Arraygröße 12, var2 mit Arraygröße 12 Und var3 der Arraygröße 12, Wo var1 wird mit String -Wert zugeordnet Mein Und var2 wird zugeordnet Artikel. Wir haben keinen Wert zugewiesen var3 Weil wir es verwenden werden, um unsere zu kopieren var1 hinein var3. Unsere vierte Variable hat einen Datentyp -Ganzzahl mit dem Namen Länge mit der wir die Länge der resultierenden Zeichenfolge berechnen werden.

STRCPY (var3, var1); Darin zuweisen wir var3 der Wert von var1 welches ist Mein und dann mit dem anzeigen Cout Anweisung, die für die Anzeige des Inhalts als Ausgabe verantwortlich ist. Als nächstes haben wir die Funktion verwendet Strcat die verwendet wird, um zwei verschiedene Zeichenfolgen zu einem zu verkettet. Wie in Zeile 17 gezeigt, verketteten wir zwei benannte Saiten var1 Und var2 um sie zu einer Zeichenfolge zu machen.

Jetzt ist unser nächster Schritt, die Länge der gesamten verketteten Zeichenfolge zu berechnen. Wir haben die zugewiesen Strlen Funktion zu unserer Ganzzahlvariablen Länge und übergab die String -Variable an sie, die wir berechnen werden. Dann wird es mit unserem angezeigt Cout Stellungnahme.

Arten der String -Funktion

Die C ++ - Programmiersprache verwendet typischerweise zwei Arten von Zeichenfolgen:

Typ 1: C-String (String im C-Stil)
C-Saiten sind eine eindimensionale Reihe von Zeichen, die mit dem Nullcharakter geschlossen sind 0. Infolgedessen enthält eine Zeichenfolge, die mit einem Null endet.

Methoden der C -String -Initialisierung
Zur Initialisierung der Zeichenfolge mein Artikel Wir werden zwei Methoden anwenden. Das Zeichenarray, das die Zeichenfolge hält, muss ein Zeichen sein, das größer ist als die Wörter mein Artikel um den Nullcharakter am Ende des Arrays aufzunehmen.

Methode 1

# char var [12] = 'm', 'y', 'a', 'r', 't', 'i', 'c', 'l', 'e', ​​'\ 0;

Darin haben wir eine Variable mit dem Namen initialisiert var mit dem Datentyp verkohlen die verwendet wird, um den Datentyp des Charakters darzustellen. Wir haben der Variablen einen Stringwert zugewiesen var Das ist "m, y, a, r, t, i, c, l, e, \ 0". In dieser "\ 0" wird der Nullwert dargestellt, mit dem der Compiler die Zeichenfolge beendet.

Beispiel 2: Zuweisen einer Zeichenfolge einer Variablen mit Methode 1 zugewiesen

Schauen Sie sich die zweite Instanz dieses Artikels an.

#enthalten
Verwenden von Namespace STD;
int main ()
char myvar1 [12] = 'm', 'y', ", 'a', 'r', 't', 'i', 'c', 'l', 'e', ​​'\ 0' ;
Cout <<"message: ";
Cout << myvar1 << endl;
Rückkehr 0;

In diesem Beispiel werden wir unsere Zeichenfolge nach der Einbeziehung unserer Header -Datei zuweisen und anzeigen iostream Dies ermöglicht es uns, seine zu verwenden Cin und Cout Vorgänge zum Anzeigen oder Abholen von Daten vom Benutzer. Wir bewegen uns zu unserer Hauptfunktion, in der alle unsere Ausführung ausgeführt wird.

Wir haben eine variable Benennung definiert myvar1 das enthält ein Array von Datentypencharakter, das ist mein Artikel. Dann haben wir unseren Zeichenfolgenwert mit dem angezeigt Cout Stellungnahme. Wir haben eine Zeichenarray von Größe zugewiesen 12 zu unserer Variablen und übergab es an unsere Cout Funktion. Die resultierende Ausgabe ist:

Methode 2

# char var = "Mein Artikel";

Im obigen Code haben wir eine andere Variable initialisiert var das enthält auch den String -Wert mein Artikel. Das mein Artikel wird direkt zugewiesen an var Verwenden invertierter Kommas anstatt die Alphabete separat zuzuweisen.

Beispiel 3: Zuweisen einer Zeichenfolge einer Variablen mit Methode 2 zugewiesen

Im folgenden Beispiel weisen wir unserer Variablen einen String -Wert zu myvar1:

#enthalten
Verwenden von Namespace STD;
int main ()
char myvar1 [12] = „Mein Artikel“;
Cout <<"message: ";
Cout << myvar1 << endl;
Rückkehr 0;

Wir haben eine Variable genannt myvar1 das speichert eine Reihe von Zeichendatenatypen oder mein Artikel. Dann verwenden Sie die Cout Anweisung, wir haben unseren Zeichenfolgenwert gedruckt. Als wir ein Charakterarray der Größe gaben 12 zu unserer Cout Funktion, die Ausgabe war wie folgt:

Typ 2: String -Klassenobjekte, die Zeichenfolgen sind (String -Klasse der Standard -C ++ - Bibliothek)

Eine C ++ - String ist eine Instanz der Klassenzeichenfolge, die im Standard -Namespace gefunden und in der Header -Datei definiert ist . Um ein String -Objekt zu erstellen, kann auch einer der zahlreichen in der String -Klasse verfügbaren Konstruktoren aufgerufen werden (explizit oder implizit). Saiten haben den zusätzlichen großen Vorteil, dass dynamische Speicherzuweisung über Charakter -Arrays verwendet wird, die noch in C verwendet werden können++.

Syntax

# String var = "Mein Artikel";

Darin haben wir eine String -Variable benannt var das enthält den Wert mein Artikel. Im Folgenden finden Sie die Methode, um die Zeichenfolge zu deklarieren oder zu initialisieren, die aus den Wörtern besteht mein Artikel. Das Zeichenarray, das die Zeichenfolge hält, muss ein Zeichen sein, das größer ist als die Wörter mein Artikel um den Nullcharakter am Ende des Arrays aufzunehmen.

Beispiel 4: Verwenden der String -Funktion

Hier ist ein weiteres wichtiges Beispiel für diesen Leitfaden:

#enthalten
Verwenden von Namespace STD;
int main ()
Char Myvar1 [50];
Cout <<"Enter a string: ";
CIN.bekommen (myvar1, 50);
Cout <<"You entered: "<< myvar1 << endl;
Rückkehr 0;

Wir beginnen mit der Einbeziehung der Header -Datei #enthalten, Dies ist eine Bibliothek, die die Standardmethoden CIN und Cout für die Eingangs- und Ausgabeeinrichtungen von C ++ verwendet. Anschließend haben wir unsere String-Header-Datei definiert, sodass wir integrierte String-Methoden wie Strcpy, Strstr, Strcat usw. verwenden können.

Weiter zu unserer Hauptfunktion, int main (), wobei INT die Art von Ganzzahl ist, die als Rückgabewert für einen Code verwendet wird. Die Hauptfunktion wird vom Betriebssystem aufgerufen, das unseren Code ausführt. Die Anzahl der Funktionen, die ein Programm haben kann.

Eine Variable genannt Myvar wurde erstellt, mit einem String -Datentyp mit. Der Cout Anweisung wurde dann verwendet, um die anzuzeigen Geben Sie eine Zeichenfolge ein: Text, damit der Benutzer die Zeichenfolge seiner Wahl eingeben muss. Danach benutzten wir das Getline Funktion. Eine Zeichenfolge oder eine Zeile kann aus einem Eingabestream unter Verwendung der Standardbibliotheksfunktion getline () in c gelesen werden++. Es gehört zum Streicherkopf. Dabei ersetzt die Eingabebring, falls vorhanden, den Wert, der zuvor im String -Objekt gespeichert wurde Myvar. Folgende Benutzereingabe einer Zeichenfolge Mein Artikel wird mit dem angezeigt Cout Stellungnahme.

Beispiel 5: Zeichenfolge übergeben

Hier ist das letzte Beispiel für diesen Leitfaden.

#enthalten
Verwenden von Namespace STD;
void charshow (char *);
void Stringshow (String);
int main ()
String myvar1;
Char Myvar2 [50];
Cout <<"Enter a string: ";
Getline (Cin, myvar1);
Cout <<"Enter another string: ";
CIN.Get (myvar2, 50, '\ n');
Stringshow (myvar1);
Charshow (myvar2);
Rückkehr 0;

void charshow (char strn [])
Cout <<"Entered char array is: "<< strn << endl;

void Stringshow (String strn)
Cout <<"Entered string is: "<< strn << endl;

In diesem Beispiel werden wir beide Methoden zur Übergabe von Zeichenfolgenzeichen mithilfe von Zeichen -Arrays sowie String -Methoden in einem Programm verwenden. Wir beginnen mit der Einbeziehung der Header -Datei #enthalten . Wir haben dann das benutzt Verwenden von Namespace STD;.

In unseren Header -Dateien haben wir zwei Funktionen definiert, Charshow () Dies wird für die Anzeige der Zeichenfolge verantwortlich sein, die wir vom Benutzer mit einem Charakter -Array und dem anderen erhalten werden Stringshow () Dadurch werden die Zeichenfolge angezeigt, die wir vom Benutzer mit einer String -Methode erhalten.

In der main () -Funktion dieses Beispielprogramms haben wir zwei Zeichenfolgen deklariert myvar1 wodurch Werte unter Verwendung der und der anderen String -Methode zugewiesen werden myvar2 wird unter Verwendung eines festen Arrays von einem festen Zeichentyp zugewiesen 50 Größe. Benutzer müssen zwei Saiten eingeben. Diese werden in den Variablen gehalten myvar1 Und myvar2, Wo myvar2 ist ein Char -Array und myvar1 ist jeweils ein String -Objekt.

Die Zeichenfolge wird dann mit zwei Verfahren bezeichnet, die als Charshow () und Stringshow () bezeichnet werden. Der Parameter ist die einzige Unterscheidung zwischen den beiden Funktionen. Die erste charshow () -Funktion akzeptiert einen Parameter des Typs -Zeichen -Arrays, während die zweite einen Parameter der Typ -Zeichenfolge akzeptiert.

Abschluss

Die Basis dieses Artikels ist die String -Implementierung und ihre Schlüsselmethoden anhand verschiedener Typen, mit denen wir die String -Funktion anpassen können, um unsere Anforderungen zu erfüllen, mit Beispielen für die Verwendung von String und wann. Wir haben mehrere Funktionen hinzugefügt, die Teil der String -Funktion in C sind++. Wir haben fünf verschiedene Beispiele erklärt, um die Arbeit von Saiten in C zu erläutern++.