Satrlar va ular ustida amallar
String - bu belgilar to'plami. C ++ dasturlash tilida keng qo'llaniladigan satrlarning ikki turi mavjud:
String sinfining ob'ektlari bo'lgan satrlar (Standard C ++ Library satrlari sinfi)
C satrlari (C uslubidagi satrlar)
C belgilari
C dasturlashda belgilar to'plami massiv shaklida saqlanadi, bu C ++ dasturlashda ham qo'llab-quvvatlanadi. Shuning uchun u C satrlari deb ataladi.
C-satrlari charnull belgi bilan tugatilgan turdagi massivlar , ya'ni \0(null belgining ASCII qiymati 0 ga teng).
C satrini qanday aniqlash mumkin?
char str [] = "C ++";
Yuqoridagi kodda strsatr mavjud va u 4 ta belgidan iborat.
" C++" 3 ta belgidan iborat bo'lsa ham, bo'sh \0 satr satr oxiriga avtomatik ravishda qo'shiladi.
Ipni aniqlashning alternativ usullari
char str [4] = "C ++";
char str [] = {'C', '+', '+', '\ 0'};
char str [4] = {'C', '+', '+', '\ 0'};
Massivlar singari, mag'lubiyatga ajratilgan barcha joylardan foydalanish shart emas. Masalan:
char str [100] = "C ++";
1-misol: so'zni o'qish uchun C ++ string
C ++ dasturi foydalanuvchi tomonidan kiritilgan qatorni namoyish qilish uchun.
#include
using namespace std;
int main()
{
char str[100];
cout << "Enter a string: ";
cin >> str;
cout << "You entered: " << str << endl;
cout << "\nEnter another string: ";
cin >> str;
cout << "You entered: "<return 0;
}
Chiqish
Satrni kiriting: C ++
Siz kiritdingiz: C ++
Boshqa qatorni kiriting: Dasturlash qiziqarli.
Siz kiritdingiz: Dasturlash
E'tibor bering, ikkinchi misolda "Dasturlash kulgili" o'rniga faqat "Dasturlash" ko'rsatiladi.
Chunki >> ekstraktsion operatori >> scanf()C dagi kabi ishlaydi va bo'shliqni "" tugatuvchi xarakterga ega deb hisoblaydi.
2-misol: matn satrini o'qish uchun C ++ string
Foydalanuvchi tomonidan kiritilgan butun satrni o'qish va namoyish qilish uchun C ++ dasturi.
#include
using namespace std;
int main()
{
char str[100];
cout << "Enter a string: ";
cin.get(str, 100);
cout << "You entered: " << str << endl;
return 0;
}
Chiqish
Bir qatorni kiriting: Dasturlash qiziqarli.
Siz kiritdingiz: Dasturlash qiziqarli.
Bo'sh joyni o'z ichiga olgan matnni o'qish uchun cin.getfunktsiyadan foydalanish mumkin. Ushbu funktsiya ikkita dalilni oladi.
Birinchi argument - bu satrning nomi (satrning birinchi elementining manzili) va ikkinchi argument - bu massivning maksimal hajmi.
Yuqoridagi dasturda, strsatrning nomi va 100massivning maksimal kattaligi.
string ob'ekti
C ++ da siz satrlarni ushlab turish uchun string ob'ektini yaratishingiz mumkin.
Chiziq qatorlarini ishlatishdan farqli o'laroq, mag'lubiyat ob'ektlari qat'iy uzunlikka ega emas va sizning talabingizga binoan kengaytirilishi mumkin.
3-misol: string ma'lumotlar turidan foydalangan holda C ++ qatori
#include
using namespace std;
int main()
{
// Declaring a string object
string str;
cout << "Enter a string: ";
getline(cin, str);
cout << "You entered: " << str << endl;
return 0;
}
Chiqish
Bir qatorni kiriting: Dasturlash qiziqarli.
Siz kiritdingiz: Dasturlash qiziqarli.
Ushbu dasturda mag'lubiyat stre'lon qilinadi. Keyin foydalanuvchidan satr so'raladi.
cin>>Yoki cin.get()funktsiya o'rniga , kiritilgan matn satrini olishingiz mumkin getline().
getline()funksiyasi birinchi parametr sifatida kiritish oqimi oladi cinva strliniyasi holati sifatida saqlanadi.
Stringni funktsiyaga o'tkazish
Satrlar xuddi shu tarzda funktsiyaga, massivlar funktsiyaga uzatilgandek beriladi .
#include
using namespace std;
void display(char *);
void display(string);
int main()
{
string str1;
char str[100];
cout << "Enter a string: ";
getline(cin, str1);
cout << "Enter another string: ";
cin.get(str, 100, '\n');
display(str1);
display(str);
return 0;
}
void display(char s[])
{
cout << "Entered char array is: " << s << endl;
}
void display(string s)
{
cout << "Entered string is: " << s << endl;
}
Chiqish
Bir qatorni kiriting: Dasturlash qiziqarli.
Boshqa qatorni kiriting: Haqiqatan ham?
Kiritilgan satr: Dasturlash qiziqarli.
Kiritilgan char qatori: Haqiqatan ham?
Yuqoridagi dasturda ikkita qatorni kiritish talab qilinadi. Ular saqlanadistr va str1mos ravishda, bu erda str - charmassiv, str1 - stringob'ekt.
Keyin, bizda ikkita funktsiya display()mavjud, ular qatorni mag'lubiyatga chiqaradi.
Ikkala funktsiya orasidagi farq faqat parametrdir. Birinchi display()funktsiya parametr sifatida char qatorini, ikkinchisi parametr sifatida qatorni oladi.
Ushbu jarayon funktsiyalarni haddan tashqari yuklash sifatida tanilgan. Funktsiyalarni ortiqcha yuklash haqida ko'proq bilib oling.
Do'stlaringiz bilan baham: |