دسترسی به رشته (Access Strings)
اینجا هدف ما دسترسی به رشته است. رشته (String) یعنی متن داخل کوتیشن. برای گرفتن کاراکتر، از اندیس (Index) داخل براکت استفاده می کنیم. سپس نتیجه را با cout
نمایش می دهیم.
دسترسی با اندیس براکت ها []
اندیس از صفر شروع می شود. صفر یعنی اولین کاراکتر. یک یعنی دومین کاراکتر. مراقب اشتباه های یک واحدی باش.
نمونه: کاراکتر اول
کاراکتر اول رشته myString
را چاپ می کنیم.
string myString = "Hello";
cout << myString[0];
// خروجی: H
نمونه: کاراکتر دوم
حالا کاراکتر دوم همان رشته را چاپ می کنیم.
string myString = "Hello";
cout << myString[1];
// خروجی: e
نمونه: آخرین کاراکتر
با طول رشته، اندیس آخر را حساب می کنیم. سپس چاپ می کنیم.
string myString = "Hello";
cout << myString[myString.length() - 1];
// خروجی: o
نکته: اندیس اشتباه، خطای اجرا می دهد. همیشه طول را چک کن.
تغییر کاراکترهای رشته
برای تغییر یک کاراکتر، همان اندیس را بنویس. سپس با کوتیشن تکی مقدار بده.
string myString = "Hello";
myString[0] = 'J';
cout << myString;
// خروجی: Jello
هشدار: از کوتیشن تکی برای کاراکتر استفاده کن. کوتیشن دوتایی برای رشته است.
تابع at() برای دسترسی ایمن
تابع (Function) کاری آماده با نام مشخص است. at()
مثل براکت است؛ اما در اندیس نامعتبر خطا می دهد.
string myString = "Hello";
cout << myString;
cout << myString.at(0);
cout << myString.at(1);
cout << myString.at(myString.length() - 1);
myString.at(0) = 'J';
cout << myString;
// خروجی ها: Hello سپس H، سپس e، سپس o، سپس Jello
نکته: وقتی از at()
استفاده می کنی، پیام خطا واضح تر است.
تمرین گام به گام
- یک رشته بساز و مقدار "Hello" بده.
- کاراکتر اول و دوم را با براکت چاپ کن.
- آخرین کاراکتر را با
length() - 1
چاپ کن.
جمع بندی سریع
- اندیس از صفر شروع می شود.
- براکت سریع و ساده است.
at()
در خطاها کمک می کند.- تغییر کاراکتر با کوتیشن تکی است.