Saiten in der C -Sprache

Saiten in der C -Sprache

Saiten werden häufig in der C -Sprache verwendet. Über sie zeigt ein Programm die Nachrichten oder Ergebnisse dem Benutzer an, gibt die Informationen in das System ein, generiert oder konsultiert die Informationen in Datenbanken, vergleicht oder sucht nach Wörtern in einem Text usw. Sie werden auch für die Funktionen verwendet, um die Dateipfade anzugeben, die Arbeitsverzeichnisse auszuwählen usw.

In diesem Linux -Hinweis -Artikel erfahren Sie alles über Strings. Wir werden von Grund auf erklären, was eine Zeichenfolge ist, welche Elemente sie besteht und wie sie erstellt wird.

Wir werden auch einen speziellen Abschnitt sehen, der erklärt, welche Sonderfiguren sind und welche Rolle die Kontrollfiguren in einer Zeichenfolge spielen.

Nach der theoretischen Erklärung sehen wir die verschiedenen praktischen Beispiele mit Code -Snippets und Bildern, in denen wir Ihnen beibringen, wie Sie die Zeichenfolgen erstellen und die grundlegenden Funktionen verwenden, die die C -Sprache für ihr Management bietet.

Saiten in der C -Sprache

Eine Zeichenfolge ist ein Textstück, das aus alphanumerischen Zeichen, Symbolen und Kontrollzeichen besteht. Der Compiler verarbeitet alles, was in Zitaten als Zeichenfolge eingeschlossen ist, und platziert automatisch ein Nullzeichen nach dem letzten Zeichen, um das Ende anzuzeigen.

Lassen Sie uns als nächstes die bekannteste Kette in der Programmierung betrachten:

"Hallo Welt"

Die C -Sprache speichert die Saiten in Arrays von Elementen von Typ und nicht signiertes Zeichen. Der Datentyp der Elemente muss in der Deklaration des Arrays angegeben werden, wie im Folgenden dargestellt:

char String_1 [20];
nicht signiert char string_2 [20];

In diesem Fall hat das String_1 -Array 20 Elemente vom Typ Zeichen und das String_2 -Array 20 Elemente vom Typ ohne Vorzeichen für Typen.

Der Datentyp der Array -Elemente bestimmt den Zeichensatz, den die Zeichenfolge akzeptiert. Ein Char-Datentyp akzeptiert nur einen 7-Bit-ASCII-Zeichen. Das verbleibende Bit wird als Vorzeichen- und Paritätsprüfung verwendet, sodass nur die Zeichen zwischen 0H00 und 0H80 aus der ASCII -Tabelle in diesem Datentyp dargestellt werden können.

Die Zeichen des vorzeichenlosen Zeichenentyps verwenden kein Zeichenbit, daher werden ihre 8 Bit verwendet, um die Zeichen zwischen 0H00 und 0HFF des erweiterten ASCII -Codes darzustellen.

Neben alphanumerischen Zeichen und Symbolen kann eine Zeichenfolge auch die Steuerzeichen enthalten.

Entkommen und kontrollieren Sie Charaktere in der C -Sprache

Steuerzeichen haben die Funktion, spezifische Aktionen in der Zeichenfolge auszuführen, die sie enthält. Zum Beispiel bedeutet ein Zeichen „\ n“ vor Beginn einer Zeichenfolge, dass es in eine neue Zeile geschrieben werden sollte.

#enthalten
void main ()
printf ("\ nhello World");

Das Escape -Zeichen am Ende der Zeichenfolge zeigt an, dass die Zeichenfolge geschrieben werden soll und der Cursor in die nächste Zeile verschoben wird.

#enthalten
void main ()
printf ("Hallo Welt \ n");

Alle Fluchtsequenzen bestehen aus einem alphanumerischen Charakter, dem ein Backslash vorausgeht.

Als nächstes sehen wir eine Tabelle der am häufigsten verwendeten Fluchtzeichen in der C -Sprache:

\N Neue Zeile
\R Wagenrückgabe
\A Alarmpiep
\T Tabellierung
\ v Vertikale Tabelle
\B Rücktaste
\F Formfutter

Zusätzlich zu diesen Escape -Zeichen gibt es Sequenzen, die dem Compiler darauf hinweisen, dass er bestimmte Symbole in die Zeichenfolge aufnehmen muss. Wenn wir beispielsweise ein Doppelzitat -Zeichen in den Text aufnehmen möchten, würde der Compiler ihn als Terminator der Zeichenfolge und nicht als ein weiteres Zeichen davon interpretieren. Aus diesem Grund müssen einige Symbole einen Backslash vorausgehen, damit der Compiler einfügen kann. Im folgenden Beispiel sehen wir, was diese sind:

\ " Fügen Sie Doppelzitate ein
\ ' Einzelne Zitate einfügen
\\ Backslash einfügen
\? Fragenzeichen einfügen

:

So erstellen Sie eine Zeichenfolge in der C -Sprache

Eine der Möglichkeiten, eine Zeichenfolge zu deklarieren, besteht darin, ein Zeichenarray von Typen oder nicht signiertem Zeichen einer bestimmten Größe wie folgt zu erstellen:

Char Str [50];
Str = "Hallo Welt";

Auf diese Weise behandelt der Compiler die Daten, die im Array als einzelne Zeichenfolge gespeichert sind, indem am Ende ein Nullzeichen zugewiesen wird.

So erstellen Sie eine konstante Zeichenfolge in der C -Sprache

Um eine konstante Zeichenfolge zu erstellen, müssen Sie ein Zeichenarray von Typ oder nicht signiertem SHAR deklarieren, ohne die Größe anzugeben. Weisen Sie die Zeichenfolge an, wie im Folgenden gezeigt:

Char st [] = "Hallo Welt";

Der Compiler setzt automatisch einen Nullzeichen am Ende der Zeichenfolge ein, um sein Ende anzuzeigen. Bei dieser Art von String ist es nicht möglich, den Inhalt zu ändern.

So erstellen Sie einen Zeiger auf die Zeichenfolge in der C -Sprache

Eine andere Möglichkeit, eine Zeichenfolge zu speichern, besteht darin, einen Zeiger auf das Array zu erklären, das sie speichert. Diese Methode zuteilt dynamisch die Größe des Zeichenarrays. Hier ist der richtige Weg, um einen String -Zeiger zu deklarieren:

char *s_ptr;
s_ptr = "Hallo Welt";

Die Zeigermethode wird von den C -Sprachfunktionen am häufigsten verwendet, um auf eine Zeichenfolge in ihren Eingangs- und Ausgabeargumenten zu verweisen.

Funktionen zum Umgang mit den Saiten

Bei der Programmierung ist es wichtig, sich die grundlegenden Funktionen für den Umgang mit den Saiten zu merken, da wir sie immer wieder verwenden. Wenn Sie sie beherrschen, wird Ihre Arbeit viel schneller gehen.

Alle Funktionen für den Umgang mit den Saiten sind in der „String Strings definiert.H ”Kopfball. Um sie zu verwenden, müssen Sie diese Datei wie folgt in Ihren Code aufnehmen:

#enthalten

Im folgenden Abschnitt zeigen wir kurz.

So zeigen Sie eine Zeichenfolge in der C -Sprache an

Die häufigste Möglichkeit, eine Zeichenfolge auf dem Bildschirm anzuzeigen.H ”Kopfball. Diese Funktionen akzeptieren eine Zeichenfolge oder einen Zeiger auf eine Zeichenfolge als Eingabemargument.

Lassen Sie uns nun sehen, wie eine Zeichenfolge mit der Funktion printf () auf dem Bildschirm angezeigt werden kann:

#enthalten
void main ()
printf ("Hello World 1 \ n");
char str [15] = "\ nhello World 2 \ n";
printf ("%s", str);

Wenn Sie die Funktion printf () verwenden und einen Stringzeiger wie im zweiten Fall übergeben, müssen Sie in welchem ​​Format er angezeigt werden. Da es sich in diesem Fall um eine Zeichenfolge handelt, wird dieses Format mit „%S“ als erstes Eingabemargument angegeben.

In der folgenden Abbildung können Sie die Zusammenstellung und Ausführung dieses Codes sehen:

So kopieren Sie eine Zeichenfolge in C -Sprache

Es gibt verschiedene Möglichkeiten, eine Zeichenfolge in der C -Sprache zu kopieren. Die am häufigsten verwendete Methode ist die Funktion von Strcpy (), die in der String definiert ist.H ”Kopfball. Im folgenden Beispiel werden wir uns die Syntax dieser Funktion ansehen:

STRCPY (S1, S2);

Die Funktion von Strcpy () kopiert die Zeichenfolge "S2" in "S1" -Sching und fügt am Ende ein Nullzeichen ein. Die Zeichenfolge „S2“ kann explizit oder implizit angegeben werden.

Beispiel:

Der folgende Code kopiert die explizit angegebene String von "S2" in "S1" und zeigt sie in der Befehlskonsole an:

#enthalten
#enthalten
void main ()

char S1 [20] = "";
Strcpy (S1, "\ n \ nhello World \ n \ n");
printf ("%s", s1);

Das folgende Bild zeigt die Kompilierung und Ausführung dieses Code. In diesem Fall kopiert Strcpy () die Zeichenfolge von "S2" auf "S1" und druckt sie dann mit der Funktion printf () auf den Bildschirm aus:

Wie man zwei Saiten in der C -Sprache verkettet

Die Funktion, die die C -Sprache bietet, um zwei Zeichenfolgen zu verkettet, ist strcat (). Schauen wir uns die Syntax dieser Funktion im Folgenden an:

Strcat (S1, S2);

Diese Funktion verkettet die Zeichenfolge "S2" in "S1" -Sching. Wie bei allen String -Verarbeitungsfunktionen platziert Strcat () ein Nullzeichen am Ende der verketteten Zeichenfolge. Sowohl "S1" als auch "S2" können explizit oder implizit angegeben werden.

Beispiel:

#enthalten
#enthalten
void main ()

char S1 [20] = "\ n \ nhello";
Strcat (S1, "World \ n \ n");
printf ("%s", s1);

Das folgende Bild zeigt die Kompilierung und Ausführung dieses Code. In diesem Fall verkettet Strcat () den S2 -Sring mit der Zeichenfolge „S1“ und druckt ihn dann mit der Funktion printf () auf den Bildschirm:

Wie man zwei Saiten in der C -Sprache vergleicht

Die Funktion, die die C -Sprache zum Vergleich der Zeichenfolgen bietet, ist strcmp (). Schauen wir uns die Syntax dieser Funktion im Folgenden an:

int Strcmp (S1, S2);

Die Funktion STRCMP () vergleicht die Saiten "S1" und "S2". Wenn sie gleich sind, gibt es ein Ergebnis zurück, das gleich 0 entspricht. Wenn sie nicht gleich sind, gibt es ein Ergebnis zurück, das nicht gleich 0 ist.


Beispiel:

#enthalten
#enthalten
void main ()

char S1 [50] = "gleich";
Zeichen S2 [50] = "Equal";
Zeichen S3 [50] = "nicht gleich";
//Fall 1
if (STRCMP (S1, S2) == 0)
printf ("\ n \ ns1 und s2 sind gleich \ n \ n");
anders
printf ("\ n \ ns1 und s2 sind nicht gleich \ n \ n");
// Fall 2
if (STRCMP (S1, S3) == 0)
printf ("\ n \ ns1 und s3 sind gleich \ n \ n");
anders
printf ("\ n \ ns1 und s3 sind nicht gleich \ n \ n");

Wir sehen die Zusammenstellung und Ausführung dieses Code in der folgenden Abbildung. In Fall 1 sind „S1“ und „S2“ gleich, so dass Strcmp () 0 zurückgibt. In Fall 2 sind „S1“ und „S3“ nicht gleich.

Wie man eine Saite in Fragmente schneidet

Die Funktion von Strsp () Fragmenten Die Zeichenfolge, auf die durch StringP in Stücke hingewiesen wird, beginnend mit einem Trennzeichen, der in seinem "Delim" -Ingabargument angegeben ist. Schauen wir uns nun die Syntax dieser Funktion an:

char *strSep (char ** StringP, const char *delim einschränken);

Wenn Strsp () auf einen Trennzeichen trifft, ersetzt er ihn durch ein Nullzeichen, das das Ende des neuen Fragments markiert und den Zeiger auf StringP auf die nächste Position setzt. Diese Funktion gibt den Zeiger auf jeden Anruf auf das neue Fragment zurück oder einen Nullzeiger, wenn er keine Abgrenzer mehr findet.

Beispiel:

In diesem Beispiel fragmentieren wir die "Heute ist ein großartiger Tag zum Programmieren" String und verwenden. Der Aufruf zur Funktion von Strsp () wird in einer Weile wiederholt, bis er keinen Trennzeichen mehr findet und einen Nullzeiger zurückgibt.

#enthalten
#enthalten
void main ()

char s_in [50] = "Heute ist ein großartiger Tag für die Programmierung";
char* in_ptr = s_in;
char del [4] = "";
char* o_ptr;
while (o_ptr != Null)
o_ptr = strSep (& in_ptr, del);
printf ("%s \ n \ n", o_ptr);

Das folgende Bild zeigt die Kompilierung und Ausführung dieses Code. Wie wir sehen können, fragt StrSep () das Stringwort nach Wort und die Funktion printf () jedes Wort in eine neue Zeile der Befehlskonsole:

Abschluss

In diesem Linux -Hinweis -Artikel haben wir erklärt, woraus eine Zeichenfolge in der C -Sprache besteht.

Wir haben gelernt, aus welchen Elementen sie bestehen, welche Art von Daten sie verwenden, wie sie codiert sind und welche Charaktere jeder Typ unterstützt.

Wir haben auch die verschiedenen Möglichkeiten erklärt, die Arrays oder Zeiger zu deklarieren, um die Saiten zu speichern, sowie die Anweisungen, sie zuzuweisen.

Um Ihnen dabei zu helfen, die Saiten in dieser Sprache zu im Griff zu.