#include <iostream>
#include <string> //Başka ideler yada işletim sisteminde hata almamak için dahil edilmeli
using namespace std;
int main()
{
//C++ ile string işlemleri
// length() ile uzunluk karakter sayısını bulma
// eğer string içinde boşluk var ise onuda karakter olarak hesaplar
string meyve = "Elma";
cout << "Uzunluk " << meyve.length() << endl;
cout << "ilk harf : " << meyve.at(0) << endl; //String'in ilk harfini bulma
meyve.append(" suyu");
cout << "Append ile : " << meyve << endl;//meyve stringinin içine append yardımı ile " suyu" ifadesini eklemiş olduk
//string birleştirme
string yeni = meyve + " guzeldir";
cout << "Birlestirme : " << yeni << endl;
//string den karakter alma,
//elma suyu güzeldir 'in içinde find yardımı ile aradı npos ile kaçıncı pozisyonda (10) da olduğunu verdi
cout << "Parca (substr) : " << yeni.substr(0, 4) << endl;//substr ile 0 dan 4 'e kadar olan karakterleri almış olduk
cout << "Parca2 (substr) : " << yeni.substr(5, 4) << endl;//ilk rakam başlangıç indeksi, ikinci rakam ise alınacak karakter sayısıdır.
int pos = yeni.find("guzel");//aranan kelimenin değişkenin içinde bulma
if (pos != string::npos) //npos ile aranan kelimenin kaçıncı pozisyonda olduğunu bulma npos kullanılmaz ise anlamsız rakamlar ortaya çıkar
{
cout << "aranan metin bulundu. Pozisyon : " << pos << endl;
}
else
{
cout << "aranan kelime bulunamadı!!!" << endl;
}
//erase karakter silme erase(5, 5) beşinci karakterden itibaren beş karakter sil demiş olduk
yeni.erase(5, 5);
cout << "erase ile silme sonrasi : " << yeni << endl;//boşluk da bir karakterdir ve onu da siler.
//insert ile ekleme işlemi
//elma güzeldir
yeni.insert(4, " TAZE");
cout << "insert sonrasi : " << yeni << endl; //Çıktısı Elma TAZE guzeldir şeklinde oldu. 4'üncü indeks den sonrasına ekledi
//Elma TAZE guzeldir
//replace methodu ile değiştirme
yeni.replace(0, 4, "Portakal");
cout <<"Replace ile elmayi degistir Portakal yap : " << yeni << endl; //çıktısı : Portakal TAZE guzeldir
return 0;
}
String mi, Char Dizisi mi?
C++'da eski tip char isim[] = "Ahmet"; yerine
string isim = "Ahmet";
kullanmak her zaman daha avantajlıdır. Çünkü string sınıfı, bugün kullandığın append, find, replace gibi onlarca hazır fonksiyonu bize "bedava" sunar. Bellek yönetimini de (ne kadar yer kaplayacağını) kendisi halleder.