Latest web development tutorials

C-String

In der C - Sprache verwenden, Strings tatsächlich dieNullzeichen '\ 0' eindimensionale Anordnung von Zeichen beendet.Daher ist ein nullterminierten String, der die Zeichen der Zeichenfolge enthält.

Die folgenden Anweisungen erstellen und initialisieren ein "Hallo" string. Seit dem Ende des Arrays der Null-Zeichen zu speichern, so dass die Größe des Feldes von Zeichen als das Wort "Hallo" ist mehr als eine Anzahl von Zeichen.

char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};

Basierend Feldinitialisierung Regeln können Sie die obige Aussage die folgende Anweisung schreiben:

char greeting[] = "Hello";

Es folgt eine Reihe von C / C ++ im Speicher definiert ist, sagte er:

C / C ++ String-Darstellung

In der Tat, müssen Sie nicht dieNull- Zeichen am Ende der Zeichenfolge konstant. Wenn der C-Compiler-Array Initialisierung automatisch '\ 0' am Ende der Zeichenfolge. Lassen Sie uns die oben Ausgabestring versuchen:

#include <stdio.h>

int main ()
{
   char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};

   printf("Greeting message: %s\n", greeting );

   return 0;
}

Wenn der obige Code kompiliert und ausgeführt wird, erzeugt es die folgenden Ergebnisse:

Greeting message: Hello

Es gibt eine große Anzahl von C-Funktionen Strings zu manipulieren:

序号函数 & 目的
1strcpy(s1, s2);
复制字符串 s2 到字符串 s1。
2strcat(s1, s2);
连接字符串 s2 到字符串 s1 的末尾。
3strlen(s1);
返回字符串 s1 的长度。
4strcmp(s1, s2);
如果 s1 和 s2 是相同的,则返回 0;如果 s1<s2 则返回小于 0;如果 s1>s2 则返回大于 0。
5strchr(s1, ch);
返回一个指针,指向字符串 s1 中字符 ch 的第一次出现的位置。
6strstr(s1, s2);
返回一个指针,指向字符串 s1 中字符串 s2 的第一次出现的位置。

Das folgende Beispiel verwendet einige der oben genannten Funktionen:

#include <stdio.h>
#include <string.h>

int main ()
{
   char str1[12] = "Hello";
   char str2[12] = "World";
   char str3[12];
   int  len ;

   /* 复制 str1 到 str3 */
   strcpy(str3, str1);
   printf("strcpy( str3, str1) :  %s\n", str3 );

   /* 连接 str1 和 str2 */
   strcat( str1, str2);
   printf("strcat( str1, str2):   %s\n", str1 );

   /* 连接后,str1 的总长度 */
   len = strlen(str1);
   printf("strlen(str1) :  %d\n", len );

   return 0;
}

Wenn der obige Code kompiliert und ausgeführt wird, erzeugt es die folgenden Ergebnisse:

strcpy( str3, str1) :  Hello
strcat( str1, str2):   HelloWorld
strlen(str1) :  10

Sie können mehr String-bezogene Funktionen in der C-Standardbibliothek finden.