دسترسی به رشته ها (Access Strings)
می خواهی به حرف های داخل رشته برسید؟ رشته (String) یعنی متن. با «اندیس» می رویم سراغ هر کاراکتر. اندیس یعنی شماره جایگاه کاراکتر در رشته.
دسترسی با اندیس [ ]
کاراکترها را با اندیس داخل براکت می گیریم. اندیس از صفر شروع می شود.
string myString = "Hello";
cout << myString[0];
// Outputs H
نکته: اندیس 0 اولین حرف است. اندیس 1 دومی است.
نمونه: گرفتن حرف دوم
فقط اندیس را 1 بگذار. چون شمارش از صفر است.
string myString = "Hello";
cout << myString[1];
// Outputs e
آخرین کاراکتر با length()
همیشه یک واحد از طول کم کن تا به آخر برسی.
string myString = "Hello";
cout << myString[myString.length() - 1];
// Outputs o
تغییر کاراکترهای رشته
با اندیس به خانه برو، سپس کاراکتر جدید بده. از کوتیشن تکی استفاده کن.
string myString = "Hello";
myString[0] = 'J';
cout << myString;
// Outputs Jello instead of Hello
تابع at() برای دسترسی امن تر
تابع 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;
تمرین سه مرحله ای
- یک رشته بساز؛ اسم بازی موردعلاقه ات.
- حرف اول و آخر را چاپ کن.
- حرف اول را با at() تغییر بده.
هشدار: اگر اندیس خارج از محدوده بدهی، برنامه خطا می دهد.
برای آشنایی با طول رشته، به طول رشته برو. همچنین صفحه به هم چسباندن رشته ها را ببین.
جمع بندی سریع
- اندیس از صفر شروع می شود.
- myString[i] کاراکتر iام را می دهد.
- آخرین کاراکتر: length()-1.
- at() دسترسی خوانا و مطمئن تر می دهد.