Satr elementiga yana boshka usul at() bilan murojaat qilish mumkin::
string s1=” satr misoli “;
cout << s.at(3) // natijada “r” belgisi ekranga chiqadi.
Bu amallar butun satr ustidan ishlash uchun yetarlidir, birok satr qismi bilan
ishlamoqchi bo‘lsangiz bir to‘plam usullar bilan foydalanishingiz mumkin.
Chuni aytib o‘tish kerakki bu tur bilan ishlaydigan fuksiyalar usullar orqali
chaqiriladi va albatta biror elon qilingan o‘zgaruvchi( obekt) satrga tegishli
bo‘ladi, bunday satr chaqiruvchi deyiladi va u usulni ismini boshida
nukta bilan
ajratib yoziladi.
Satr qismini boshka satrga berish fuksiyasi
Bir satr qismini boshka satrga yuklash uchun kuyidagi fuksiyalarni ishlatish
mumkin, ularni prototipi kuyidagicha:
assign (const string &str);
assign(const string & str,unsigned int pos,unsigned int n);
assign(const char *str, int n).
Birinchi fuksiya qiymat berish amal bilan ekvivalentdir:
str string turidagi
satr o‘zgaruvchi yoki satr konstantani chaqiruvchi satrga beradi:
=, +=
Qiymat berish amali
s=”satr01234”
s+=”2satr000”
+
Satrlarni ulash
(konkantenatsiya)
s1+s2
==, !=, <,<=,>,>=
Satrlarni solishtirish amallari
S1==s2 || s1>s2
&&
S1!=s2
[]
Indeks berish
S[4]
<<
Chiqarish
Cout << s
>>
Kiritish
Cin
>>
s
(probelgacha)
string s1,s2;
s1=”birinchi satr”;
s2.assign(s1); // s2=s1 amalga ekvivalent
Ikkinchi fuksiya chaqiruvchi satrga pos o‘rnidan n ta belgidan iborat bo‘lgan
str satr qismini beradi. Agarda pos str satrni uzunligada katta bo‘lsa xato deb
ogxlantiradi, agar pos+n str satr uzunligidan katta bo‘lsa, pos dan boshlab satrni
oxirigacha bo‘lgan belgilar beriladi bunday koyda barcha usullar uchun ishlatiladi.
Misol:
string s1,s2,s3;
s1=”0123456789”;
s2.assign(s1,4,5); // s2=”45678”
s3.assign(s1,2,20); // s3=”23456789”
Uchinchi shakl eski turdagi str satrni yangi turdagi chaqiruvchi satrga beradi:
char * strold;
cin.getline (strold,100); // strold=”0123456789”; satr kiritiladi
string s1,s2;
s2.assign(strold,6); // s2=”012345”
s3.assign(strold,20); // s3=”0123456789”