String Sınıfı
String Sınıfını Yönetmek Stringler karakterlerden oluşur. Bir string sabiti çift tırnak arasında verilmiş karakterler listesidir. "Bu örnek bir string dir" 2 Yukardaki string 27 adet karakterden oluşmuştur. Stringler oldukça kullanışlıdır, fakat sınırları vardır. Bundan dolayı, sadece bellekte bulunan bir grup karakterin üzerinde değişik bir takım şeyler yapmak isterseniz, string sıfındaki bütün küçük ayrıntıları yönetmelisiniz.
String Sınıfını Yönetmek 3 Örneğin; çift tırnak arasında bulunan karakter dizisinin uzunluğu derleme sırasında sabitlenir. Eğer bir karakter diziniz varsa ve siz buna bazı karakterler eklemek, silmek veya değiştirmek isterseniz, gerçekleyeceğiniz birçok unsuru anlamak ihtiyacı doğar (dinamik bellek yönetimi, karakter dizisi kopyalama, silme, değiştirme ve ekleme gibi). Standart C++da string sınıfı, karakter dizilerinde alt düzeyli işlemler yapabilmek ve bunları yönetmek için tasarlanmıştır.
String Sınıfını Tanımlamak C++ string nesnesi bellekteki başlangıç yerini, içeriğini, karakter uzunluğunu, ve arttırılabilecek uzunluğu bilir. string'leri kullanabilmek için C++ da başlık dosyasına <string> eklenmelidir. stringadı= Bu bir String veya stringadı ( Bu bir String ) şeklide tanımlama mümkündür. 4
5 String Sınıfını Tanımlamak
6 String Sınıfını Tanımlamak
7 String Sınıfını Tanımlamak
string sınıfı üye fonksiyonları Yineleyiciler Kapasite Erişim Düzenleme String İşlemleri begin size [] operatorü + operatorü c_str end length at append data rbegin max_size push_back copy rend resize assign find capacity insert rfind reserve erase find_first_of clear replace find_last_of empty swap find_first_not_of find_last_not_of substr compare 8 Hatırlatma :: Çözünürlük Operatörü (scope resolution operator) string::npos ostringstream ile int to string
begin, end Kullanımı: string_ismi.begin() string_ismi.end() 9
rbegin, rend Kullanımı: (string::reverse_iterator kullan) string_ismi.rbegin() string_ismi.rend() 10
size, length, capacity, max_size Kullanımı: string_ismi.size() string_ismi.length() string_ismi.capacity() string_ismi.max_size() 11
resize Kullanımı: resize (Yeni_karakter_miktarı, karakter ); resize (Yeni_karakter_miktarı); 12
Kullanımı: isim.reserve(filesize) reserve 13
clear Kullanımı: string_adi.clear() 14
empty Kullanımı: string_ismi.empty() 15
Kullanımı: string_ismi[sayı] [] Operatörü 16
at Kullanımı: string_adi.at(sayi) 17
Kullanımı: string_2 += string_2 + Operatörü 18
append Kullanımı: string_1.append(string_2,<basla>,<<bitiş>>) 19
Kullanımı: push_back(karakter) push_back En sona string i bir karakter genişleterek karakter yükle. 20
assign Kullanımı: String_adi.assing(string_2,<başla>,<<bitiş>>) 21
insert Kullanım: str1.insert(str1baslama,str2,str2baslama,str2bitis) 22
erase Kullanım: string1.erase(string2,basla,bitis) 23
Kullanım: replace Str1.replace(str1bassil,str1bitsil,str2,str2basekle,str2bitekle) 24
Kullanımı: string_1.swap(string_2) swap 25
c_str Kullanımı: String1.c_str() 26
data Kullanımı: String1.data() string.h ile aynıdır. C dilinin kütüphanesidir. strlen ve memcmp kullanmak için İkisinin ilk <uzunluk> karakteri aynı mı diye bakıyor memcmp(str1,str2,i): str1 ile str2 ilj i karakterleri açısından karşılaştırılıyor. str1 ve str2 charter pointer olmalıdır. str1=str2 ise sonuc 0 eğer str1 <str2 ise -1 eğer str1 > str2 ise +1 string değeri pointer a çevirmek için kullanılır. HATIRLATMA: İki string karşılaştırması için compare kullanılır. str1.compare(str2) 27
copy Kullanımı: Str1.copy(str2,str2kopyamiktarı,str2kopyabaslayeri) Varsayılan değer 0 dır. (tampon,9) olarak kullanılmış olsaydı: içerik: Test Degi olacaktı. 28
find Kullanım: Str1.find(str2_ara) str nin found+1. karakterinden başlayarak, içerdeki string in ilk 3 karakterinin araştır. 29
rfind Kullanım: str1.rfind(str2_ara) 30
find_first_of, find_last_of Kullanım: string1.find_first_of( aranan karakter") string2.find_first_of( aranan karakter") 31
Kullanımı: find_first_not_of String1.find_first_not_of( olması gereken karakter dizisi ) 32
Kullanım: find_last_not_of string1.find_last_not_of(taranacak karakter dizisi) 33
substr Kullanımı: str1.strcopy(str1_basla,str1_adet) 34
Kullanım: compare str1.compare(str1bas,str1bit,str2,str2bas,str2bit) 35
36 string::npos string sınıfının bir grup arama işlemini yapan find() ve rfind() isimli üye fonksiyonları vardır. Bu fonksiyonlar yazı içerisinde arama yaparlar. Fonksiyonların parametresi string, const char* veya char türünden olabilmektedir. Üye fonksiyonlar yazının bulunduğu yerin index numarasıyla geri döner. rfind() aramayı sondan başa doğru yapar. Fonksiyonlar başarısızlık durumunda string sınıfı içerisindeki npos değerine geri dönerler.
ostringstream sınıfı ostringstream sınıfını kullanarak int türüne sahip değişkenlerin string tipi değişkenlere dönüştürülmesi 37
38 int2str & str2int
39