String Kütüphanesi Fonksiyonları
String Kütüphanesinin Fonksiyonları
length()
Bu fonksiyon bir string nesnesinin karakter uzunluğunu döndürür.
Kullanımı:
stringİsmi.lenght();
append (..)
Bu fonksiyon ile string nesnesinin içeriğine ekleme yapılır. Bu fonksiyonda nesnenin içerisindeki bilgi silinmez.
Kullanımı:
stringİsmi.append();
assign(..)
String nesnesinin içeriği başka bir string nesnesinin içeriği ile değiştirilir ve daha önceki içerik silinir. Farklı parametre listesi ile assign() fonksiyonuna aşağıda anlatıldığı gibi yükleme yapılmıştır.
Kullanımı:
Stringİsmi.assign();
at(x)
İndeks erişim operatörü gibi çalışır ancak yanlış indekse erişilmek istendiğinde kural dışı durum olarak kabul edip hata yazar
Kullanımı:
Stringİsmi.at( );
clear()
String nesnesinin içeriğini siler ve 0 karaktere sahip olacak şekilde temizler
Kullanımı:
Stringİsmi.clear( );
compare(..)
String nesnesinin içeriğini parametre olarak gelen string nesnelerinin içeriği ile karşılaştırır. İçerik aynı ise ‘0’ değil ise ‘0’ dışında bir değer döndürür. Farklı parametre ile compare() fonksiyonuna aşağıda anlatıldığı gibi yükleme yapılır.
Kullanımı:
Stringİsmi.compare();
copy(d,n,x)
String nesnesinin içeriğinde x. karakterden başlayarak n karakteri, d karakter dizine kopyalar ve dizinin uzunluğunu döndürür. Dizinin sonuna ‘/0’ karakteri eklemez.
Kullanımı:
Stringİsmi.copy(d,n,x);
empty()
Stringin nesnesinin içeriğinin boş olup olmadığını döndürür, string nesnesinin içeriğini temizlemez.
#include<iostream> #include<string> using namespace std; int main() { string icerik; string satir; cout<<"**Lutfen iceriginizi giriniz ve ardından bos bir satir girinz"<<endl; do { getline(cin,satir); icerik+=satir+'\n'; } while(!satir.empty()); cout<<**iceriginiz:\n<<icerik<<endl; return 0; }
getline(cin,satir)
Klavyeden enter’a basılana kadar girdi alır enter’a basılınca girdiyi satir stringine atar altındaki kodda içeriğe bir satır boşluk bırakarak atar while ise enter’a iki kere üst üste basılmış ise onu kontrol eder
yani boş satır girilirmiş mi onu kontrol eder.
icerik+=satir+’\n’
Her enter’a basıldığında satir’i icerik’e bir boşluk bırakarak atar \n bu görevdedir.
while(!satir+’\n’)
Enter ile girilen boş satırı bulur ve do while döngüsü durur.
erase(x,n)
String nesnesinin x. karakterinde itibaren n karakterini siler.
Kullanımı:
Stringİsmi.erase(3,12) ;
find(..)
String nesnesinin içeriğinde, gönderilen string yada karakter parametre değerlerini arar. Eğer aranan değerler bulunduysa, bulunan karakterin yada string’in ilk karakterinin, string içindeki indeks numarasını döndürür. Eğer arama sonucunda bulma işlemi gerçekleşmemişse, string sınıfına ait npos statik üye döndürülür. find() fonksiyonuna aşağıda verildiği gibi yüklemeler yapılmıştır.
#include<iostream> #include<string> using namespace std; int main() { string icerik ("C++ nesne tabanlı bir program dilidir"); string kelime="programlama"; int bulundu; bulundu=icerik.find(kelime); if(bulundu!=string::npos) cout<<""<<kelime<<" kelimesi icerikte bulundu."<<endl; return 0; }
bulundu=icerik.find(kelime),
icerik string’inin içinde programlama(kelime) kelimesini arar eğer var ise bu kelimenin baş harfinin olduğu indisi bulundu int a atar yok ise string::npos ifadesini oluşturur.
if (bulundu!=string::npos)
bulundu ifadesine programlamasının p sinin bulunduğu 22 sayısını döndürür.
insert(..)
string nesnesini başka string değerleri ekleyerek genişletir. string nesnesi içinde herhangi bir yere ekleme yapılabilir. insert() fonksiyonuna aşağıda görüldüğü gibi farklı parametre listeleri ile yükleme yapılır.
Kullanımı:
String2=String1.substr(13,3);
swap( )
String nesnesinin içeriği ile str nesnesinin içeriği değiştirilir.
yararlı tesekkürler
Teşekkürler.