1.8 C++ Stringleri (C++ Strings)
C++ dilinde stringler, metin verilerini saklamak için kullanılan veri türleridir. C++'da stringlerle çalışmanın iki ana yolu vardır:
C-Style Stringler (C-İçin Stringler)
std::stringSınıfı
std::string Sınıfı
std::string Sınıfıstd::string, C++ Standart Kütüphanesi'nin bir parçasıdır ve dinamik olarak büyüyebilen, kolay yönetilebilen ve çok sayıda kullanışlı fonksiyon sunan bir sınıftır.
Örnek:
#include <iostream>
#include <string>
using namespace std;
int main() {
string greeting = "Merhaba, Dünya!";
cout << greeting << endl;
return 0;
}string sınıfını kullanmak için <string> kütüphanesinin eklenmesi gerekiyor.
String Birleştirme
String birleştirme, iki veya daha fazla stringi bir araya getirmek için kullanılır. C++'da std::string sınıfı, + ve +=operatörleri ile string birleştirmeyi kolaylaştırır.
+= Operatörü ile Birleştirme
Sayılar ve Stringler
C++'da sayılar ile stringler arasında dönüşüm yapmak sıkça gereklidir. Örneğin, bir sayıyı stringe çevirmek veya bir stringi sayıya çevirmek isteyebilirsiniz.
Sayıyı Stringe Çevirme (to_string)
Stringi Sayıya Çevirme (stoi, stof, stod)
String Uzunluğu
Bir stringin uzunluğunu bulmak için length() veya size() fonksiyonları kullanılır. Her iki fonksiyon da aynı sonucu verir ve stringdeki karakter sayısını döndürür.
Stringlere Erişim
Stringler içerisindeki karakterlere erişmek için köşeli parantez ([]) veya at() fonksiyonu kullanılır. [] operatörü hızlı erişim sağlar ancak sınır kontrolleri yapmaz. at() fonksiyonu ise sınır kontrolleri yapar ve hatalı erişimlerde istisna fırlatır.
Özel Karakterler
Stringlerde özel karakterler kullanmak için kaçış karakterleri (\) kullanılır. Bu karakterler, yazılması zor veya doğrudan yazılamayan karakterleri temsil eder.
Yaygın Kaçış Karakterleri:
: Yeni satır
: Sekme
\\: Ters eğik çizgi\": Çift tırnak\': Tek tırnak
Çıktı:
Kullanıcı Girişi ile Stringler
Kullanıcıdan string girişi almak için cin veya getline() fonksiyonları kullanılır. cin, ilk boşluk karakterine kadar olan kısmı alırken, getline() tüm satırı alır (boşluklar dahil).
cin ile Kullanıcı Girişi
getline() ile Kullanıcı Girişi
Çoklu Girdi Alma
String Namespace
std::string sınıfı, C++ Standart Kütüphanesi'nin std namespace'i altında tanımlanmıştır. std namespace'i, standart kütüphane elemanlarını kapsar ve isim çakışmalarını önlemek için kullanılır.
Kullanım Yöntemleri:
Namespace Kapsayıcıları Kullanarak:
std::Önekini Kullanarak:
using Anahtar Kelimesi ile Namespace Kullanımı
Namespace Alias (Takma Ad) Kullanımı
C-Style Stringler
C-Style stringler, karakter dizilerini char dizileri olarak temsil eder ve null karakter ('\0') ile sonlandırılır. Bu yöntem, C dilinden miras alınmıştır ve C++'da da kullanılabilir.
Özellikler:
Sabit veya dinamik boyutlu olabilir.
Standart kütüphane fonksiyonları (
<cstring>) ile işlenir.Daha düşük seviyeli kontrol sağlar ancak hata yapma olasılığı yüksektir.
Örnek Kullanım:
Yaygın Fonksiyonlar:
strcpy(dest, src):srcstringinideststringine kopyalar.strcat(dest, src):srcstringinideststringinin sonuna ekler.strlen(str):strstringinin uzunluğunu döndürür.strcmp(str1, str2):str1vestr2stringlerini karşılaştırır.
Güvenlik Notları:
C-Style stringler kullanırken, buffer overflow gibi hatalara dikkat etmek gerekir. strncpy ve strncat gibi sınırlandırılmış fonksiyonlar kullanarak güvenliği artırabilirsiniz.
Örnek Güvenli Kopyalama:
Last updated
Was this helpful?