C++ Strings

در C++ برای کار با متن می‌توان از نوع داده‌ی string (کتابخانه <string>) استفاده کرد که امکانات قدرتمندتری نسبت به آرایهٔ کاراکترهای قدیمی (char[]) دارد.

🟠 C++ Strings

🔹 اضافه کردن کتابخانه

#include <string> #include <iostream> using namespace std;

🔹 تعریف و مقداردهی

string name = "Ali"; string city("Tehran");

🔹 نمایش رشته

cout << name << endl; // Ali

🔹 عملیات پرکاربرد

عملمثالتوضیح
طول رشتهname.length() یا name.size()تعداد کاراکترها
اتصالfirst + lastترکیب دو رشته
دسترسی به کاراکترname[0]کاراکتر اول
تغییر کاراکترname[0] = 'M';تغییر حرف اول
زیررشتهname.substr(1,3)3 کاراکتر از اندیس 1
جستجوname.find("li")موقعیت اولین تطبیق یا npos

🔹 مثال کامل

#include <iostream> #include <string> using namespace std; int main() { string firstName = "Ali"; string lastName = "Reza"; // اتصال string fullName = firstName + " " + lastName; cout << "Full Name: " << fullName << endl; // طول cout << "Length: " << fullName.length() << endl; // دسترسی به کاراکتر cout << "First letter: " << fullName[0] << endl; // تغییر کاراکتر fullName[0] = 'H'; cout << "After change: " << fullName << endl; // زیررشته cout << "Substr(0,3): " << fullName.substr(0,3) << endl; // جستجو size_t pos = fullName.find("Reza"); if (pos != string::npos) cout << "\"Reza\" found at index " << pos << endl; return 0; }

📌 خروجی نمونه:

Full Name: Ali Reza Length: 8 First letter: A After change: Hli Reza Substr(0,3): Hli "Reza" found at index 4

✅ نکات مهم

  • از std::string استفاده کنید؛ کار با متن را بسیار ساده‌تر از char[] می‌کند.

  • متدهای متنوع دیگری مثل append, insert, erase, replace هم وجود دارد.

  • برای کارهای پیچیده‌تر (مثلاً مقایسه حروف بزرگ و کوچک یا تبدیل اعداد به رشته) می‌توانید از توابع کمکی <algorithm> یا <sstream> بهره بگیرید.

خلاصه

  • تعریف: string s = "Text";

  • اتصال: s1 + s2

  • طول: s.length()

  • دسترسی/تغییر: s[i]

  • زیررشته و جستجو: s.substr(), s.find

این امکانات باعث می‌شود مدیریت متن در C++ ساده و قدرتمند باشد.