تعليم ++Strings C || تعلم c++ خطوة بخطوة

 

تقدم لغة C ++ نوعين من Strings:

The C-style character string

++The string class type introduced with Standard C


The C-style character string

لا يزال هذا النوع من السلاسل مدعومًا في لغة البرمجة C ++ وهو في الواقع array أحادية البعد من الأحرف تنتهي بحرف '\ 0' . لذا فإن السلسلة الفارغة تحتوي فقط على الحرف "\ 0" .

يوجد أدناه قيمة سلسلة تحتوي على الحرف "Hello". للاحتفاظ بالحرف '\ 0' ، تكون  قيمة  array واحدة أكثر من عدد الأحرف في كلمة "hello".


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


إذا اتبعت النصائح الخاصة بإعداد array، يمكنك كتابة الأمر أعلاه كما يلي:

char greeting[] = "Hello";
C ++

فيما يلي عرض الذاكرة للسلسلة المحددة أعلاه في C / C ++ :


The C-Style Character String

تخزين array العلوية في الذاكرة: في الواقع، لا تضع حرفًا فارغًا في نهاية سلسلة ثابتة ، ويقوم المترجم بذلك تلقائيًا عند تعيين المصفوفة. حاول طباعة السلسلة أعلاه: 


#include <iostream>

using namespace std;

int main () {

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

cout << "Greeting message: ";
cout << greeting << endl;

return 0;
}
نسخ

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

Greeting message: Hello

توفر C ++ مجموعة واسعة من  functions  للتحكم في السلاسل الفارغة، والتي يمكنك رؤيتها في الجدول أدناه:


الرقمالوظيفة
1

strcpy (s1 ، s2) ؛

ينسخ السلسلة s2 إلى السلسلة s1.

2

strcat (s1 ، s2) ؛

يربط السلسلة s2 بنهاية السلسلة s1.

3

strlen (s1) ؛

تُرجع طول السلسلة s1.

4

strcmp (s1 ، s2) ؛

تُرجع قيمة 0 إذا تساوت s1 و s2 ، وقيمة أقل من 0 إذا كانت s2> s1 ، وقيمة أكبر من 0 إذا كانت s1> s2.

5

strchr (s1 ، الفصل) ؛

يحدد موقع أول حرف ch في السلسلة s ويعيده. إذا كان الحرف المطلوب غير موجود في السلسلة ، فإن القيمة التي تُرجعها هذه الدالة هي صفر.

6

strstr (s1 ، s2) ؛

s2 هي سلسلة يجب البحث عنها في السلسلة s1. إذا تم العثور على s2 في s1 ، يتم إرجاع مكان ظهوره الأول بواسطة الدالة ، ولكن إذا لم يكن s2 موجودًا في s1 ، فسيتم إرجاع قيمة الصفر.

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

#include <iostream>
#include <cstring>

using namespace std;

int main () {

char str1[10] = "Hello";
char str2[10] = "World";
char str3[10];
int len ;

// copy str1 into str3
strcpy( str3, str1);
cout << "strcpy( str3, str1) : " << str3 << endl;

// concatenates str1 and str2
strcat( str1, str2);
cout << "strcat( str1, str2): " << str1 << endl;

// total lenghth of str1 after concatenation
len = strlen(str1);
cout << "strlen(str1) : " << len << endl;

return 0;
}
C ++


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

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

 



كلمات مفتاحية: