Latest web development tutorials

string C

Dalam bahasa C, string benar-benar menggunakan karakternull '\ 0' array satu dimensi dari karakter diakhiri.Oleh karena itu, null-string diakhiri yang berisi karakter dari string.

Pernyataan berikut membuat dan menginisialisasi "Halo" string. Sejak akhir array untuk menyimpan karakter null, sehingga ukuran array karakter dari kata "Hello" lebih dari sejumlah karakter.

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

Berdasarkan aturan inisialisasi array, Anda dapat menulis pernyataan di atas pernyataan berikut:

char greeting[] = "Hello";

Berikut ini adalah serangkaian C / C ++ didefinisikan dalam memori, ia berkata:

C / C ++ representasi string

Bahkan, Anda tidak perlu karakternullpada akhir string konstan. Ketika C compiler inisialisasi array, otomatis '\ 0' di akhir string. Mari kita coba output string di atas:

#include <stdio.h>

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

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

   return 0;
}

Ketika kode di atas dikompilasi dan dijalankan, menghasilkan hasil sebagai berikut:

Greeting message: Hello

Ada sejumlah besar fungsi C untuk memanipulasi string:

序号函数 & 目的
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 的第一次出现的位置。

Contoh berikut ini menggunakan beberapa fungsi di atas:

#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;
}

Ketika kode di atas dikompilasi dan dijalankan, menghasilkan hasil sebagai berikut:

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

Anda dapat menemukan lebih banyak fungsi-fungsi string dalam C library standar.