تعامل C++ مع النصوص: مصفوفات الأحرف ووظائفها الرئيسية
في عالم البرمجة، يعتبر نوع السلسلة (String) من العناصر الأساسية والضرورية للتعامل مع النصوص والبيانات النصية. وفي لغة البرمجة Python، يعتبر نوع السلسلة أحد أساسيات اللغة، حيث يُستخدم لتخزين والتعامل مع النصوص de facto.
أما في لغة البرمجة C++، فإن مفهوم السلسلة يُعبّر عنه بواسطة مصفوفة من الأحرف (Array of Characters)، حيث يُمكن استخدام مصفوفة من الأحرف لتخزين النصوص والقيام بعمليات المعالجة عليها. على سبيل المثال، يُمكن تعريف سلسلة في C++ على النحو التالي:
cpp#include
#include
int main() {
// تعريف سلسلة في C++
char myString[] = "مرحبًا بك في عالم C++";
// طباعة السلسلة
std::cout << myString << std::endl;
// العثور على طول السلسلة باستخدام وظيفة strlen
std::cout << "طول السلسلة: " << std::strlen(myString) << " حرف" << std::endl;
return 0;
}
في هذا السياق، يُستخدم نوع البيانات char
لتمثيل كل حرف في السلسلة، وتُنهى السلسلة بالحرف النهائي '\0'
لتحديد نهايتها. يمكن القول إن هذه المصفوفة من الأحرف تعتبر تقريبًا مكافئة لنوع السلسلة في Python.
يتيح لك الاعتماد على مصفوفات الأحرف في C++ تنفيذ العديد من العمليات على النصوص مثل إضافة وحذف الأحرف، وكذلك تنفيذ العمليات الأخرى المتعلقة بمعالجة النصوص.
المزيد من المعلومات
بالطبع، لنقم بتوسيع فهمنا حول تعامل C++ مع النصوص والسلاسل. في لغة C++، يوجد العديد من الوظائف والأدوات المتاحة التي تُمكن المبرمج من التلاعب بالسلاسل بشكل فعّال.
-
وظيفة
strlen
:
يتيح لك استخدام وظيفةstrlen
حساب طول السلسلة، أي عدد الأحرف فيها، وذلك عن طريق قراءة الأحرف حتى يتم الوصول إلى الحرف النهائي'\0'
.cpp#include
#include int main() { char myString[] = "مرحبًا بك في عالم C++"; std::cout << "طول السلسلة: " << std::strlen(myString) << " حرف" << std::endl; return 0; } -
وظيفة
strcpy
:
تُستخدم وظيفةstrcpy
لنسخ محتوى سلسلة إلى سلسلة أخرى. في المثال التالي، سيتم نسخ محتوىsourceString
إلىdestinationString
.cpp#include
#include int main() { char sourceString[] = "مرحبًا"; char destinationString[50]; // مصفوفة جديدة لتخزين السلسلة المستنسخة std::strcpy(destinationString, sourceString); std::cout << "السلسلة المستنسخة: " << destinationString << std::endl; return 0; } -
وظيفة
strcat
:
يمكن استخدام وظيفةstrcat
لدمج سلسلتين. في المثال التالي، سيتم إضافة محتوىappendString
إلى نهايةoriginalString
.cpp#include
#include int main() { char originalString[50] = "مرحبًا"; char appendString[] = " بك"; std::strcat(originalString, appendString); std::cout << "السلسلة المدموجة: " << originalString << std::endl; return 0; }
هذه الوظائف الثلاثة تمثل جزءًا صغيرًا من الأدوات المتاحة في C++ للتعامل مع النصوص. يمكن استخدام المزيد من الوظائف مثل strcmp
لمقارنة السلاسل وstrtok
لتقسيم السلسلة إلى أجزاء، مما يجعل C++ لغة قوية ومتنوعة في التعامل مع البيانات النصية.