صنف string
يحتاج #include <string>:
#include <iostream>
#include <string>
using namespace std;
int main() {
string greeting = "مرحبًا";
cout << greeting;
return 0;
}
الدمج (Concatenation)
string first = "أحمد";
string last = "علي";
string full = first + " " + last; // أحمد علي
// أو بـ append
first.append(" علي");
⚠️ لا يمكن دمج نصّين حرفيّين مباشرة:
"أ" + "ب"خطأ. استخدم متغيّرstringعلى الأقل في أحد الطرفين.
الطول
string text = "Hello";
cout << text.length(); // 5
cout << text.size(); // 5 (نفس length)
الوصول للأحرف
string name = "Code";
cout << name[0]; // C
cout << name.at(1); // o (أأمن — يفحص الحدود)
name[0] = 'M'; // Mode
دوال نصّية مفيدة
string s = "Hello World";
cout << s.substr(0, 5); // Hello
cout << s.find("World"); // 6 (الموضع)
s.replace(0, 5, "Hi"); // Hi World
s.append("!"); // إضافة للنهاية
bool empty = s.empty(); // false
| الدالة | الوظيفة |
|---|---|
length() / size() | الطول |
substr(i, n) | اقتطاع |
find(x) | البحث عن موضع |
append(x) | الإضافة |
empty() | فحص الفراغ |
قراءة نصّ من المستخدم
string line;
getline(cin, line); // سطر كامل بالمسافات
أخطاء شائعة
- محاولة دمج نصّين حرفيّين مباشرة (
"a" + "b"). - الوصول لفهرس خارج الحدود بـ
[](سلوك غير محدّد) — استخدم.at()للأمان.
🎯 التالي: الدوال الرياضية.