Darsliklar C++ Satrlar

C++ C++ Satrlar

Satrlar (string) — matn bilan ishlashning asosi. Dasturlashda matn hamma joyda: foydalanuvchi ismi, xabar, fayl nomi, xatolik matni. C++’da matn bilan ishlashning ikki yo’li bor: eski C uslubidagi belgilar massivi va zamonaviy string klassi. Biz asosan qulay va xavfsiz string bilan ishlaymiz.

stringC++ standart kutubxonasidagi matnni saqlash va u ustida ishlash uchun mo’ljallangan klass. U belgilar ketma-ketligini o’z ichida saqlaydi va uzunligini avtomatik boshqaradi.

Satr yaratish

string turini ishlatish uchun <string> kutubxonasini ulash tavsiya etiladi (ko’p hollarda <iostream> bilan birga keladi):

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

int main() {
    string ism = "Master Sherkulov";
    string salom = "Assalomu alaykum";
    cout << salom << ", " << ism << endl;
    return 0;
}
Assalomu alaykum, Master Sherkulov

Satrlarni birlashtirish

Ikki satrni + operatori bilan ulash mumkin — bu konkatenatsiya deb ataladi:

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

int main() {
    string ism = "Farrux";
    string familiya = "Sherkulov";
    string toliq = ism + " " + familiya;
    cout << toliq << endl;
    return 0;
}
Farrux Sherkulov

Satr uzunligi va belgilar

Satr uzunligini length() yoki size() metodi beradi, alohida belgiga esa indeks orqali murojaat qilinadi (indeks noldan boshlanadi):

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

int main() {
    string matn = "UzbekDevs";
    cout << "Uzunligi: " << matn.length() << endl;
    cout << "Birinchi belgi: " << matn[0] << endl;
    cout << "Oxirgi belgi: " << matn[matn.length() - 1] << endl;
    return 0;
}
Uzunligi: 9
Birinchi belgi: U
Oxirgi belgi: s

Foydali satr metodlari

string klassi ko’plab qulay metodlarga ega. Eng muhimlarini jadvalda ko’rib chiqamiz:

Metod Vazifasi
length() / size() uzunlikni qaytaradi
substr(i, n) qism satrni ajratadi
find("x") qism qayerdaligini topadi
append("x") oxiriga qo’shadi
empty() bo’shligini tekshiradi

Amalda:

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

int main() {
    string matn = "UzbekDevs platformasi";
    cout << matn.substr(0, 9) << endl;      // dastlabki 9 belgi
    cout << matn.find("platforma") << endl; // qayerdan boshlanadi
    return 0;
}
UzbekDevs
10

substr(0, 9) boshidan 9 ta belgini oldi, find esa “platforma” so’zi 10-indeksdan boshlanishini ko’rsatdi.

Klaviaturadan satr o’qish

Foydalanuvchidan matn olish uchun getline ishlatiladi — u probelli to’liq qatorni o’qiydi:

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

int main() {
    string ism;
    cout << "Ismingizni kiriting: ";
    getline(cin, ism);
    cout << "Salom, " << ism << "!" << endl;
    return 0;
}
Ismingizni kiriting: Farrux Sherkulov
Salom, Farrux Sherkulov!

Diqqat: oddiy cin >> ism faqat birinchi so’zni oladi (probelgacha), getline esa butun qatorni o’qiydi. Ism-familiya kabi probelli matn uchun getline to’g’ri tanlov.

Xulosa

Bu bo’limda string klassi bilan satr yaratish, + orqali birlashtirish, uzunlik va indeks, foydali metodlar (substr, find) hamda getline bilan matn o’qishni ko’rib chiqdik. Zamonaviy C++’da matn uchun doim string ishlating. Keyingi darsda matematik funksiyalarga o’tamiz.