Latest web development tutorials

سلسلة C

في لغة C، سلاسل هي في الواقع باستخدام حرفخالية '\ 0' مجموعة ذات بعد واحد من الأحرف إنهاؤها.ولذلك، سلسلة خالية منتهية الذي يحتوي على أحرف من السلسلة.

البيانات التالية إنشاء وتهيئة "مرحبا" السلسلة. منذ نهاية مجموعة لتخزين حرف خالية، وبالتالي فإن حجم مجموعة من الأحرف من كلمة "مرحبا" هي أكثر من عدد من الشخصيات.

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

وبناء قواعد مجموعة التهيئة، يمكنك كتابة العبارة أعلاه البيان التالي:

char greeting[] = "Hello";

وفيما يلي سلسلة من C / C ++، قال المحددة في الذاكرة:

C / C ++ تمثيل سلسلة

في الواقع، لا تحتاج إلى حرفخاليةفي نهاية ثابت سلسلة. عندما مجموعة التهيئة C مترجم، تلقائيا '\ 0' في نهاية السلسلة. دعونا نحاول سلسلة الانتاج المذكورة أعلاه:

#include <stdio.h>

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

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

   return 0;
}

عندما يتم ترجمة التعليمات البرمجية أعلاه وتنفيذها، وتنتج النتائج التالية:

Greeting message: Hello

وهناك عدد كبير من الوظائف مئوية إلى التلاعب الجمل:

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

يستخدم المثال التالي بعض من المهام المذكورة أعلاه:

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

عندما يتم ترجمة التعليمات البرمجية أعلاه وتنفيذها، وتنتج النتائج التالية:

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

يمكنك العثور على مزيد من الوظائف المتصلة سلسلة في المكتبة القياسية C.