Bu dersimizde C++ StringBuilder sınıfından örneklerle bahsedeceğiz.
C++'da StringBuilder nedir?
“
Sözdizimi
StringBuiler sınıfına erişmek için kullanılan başlık aşağıdaki gibidir:
#include
StringBrilder sınıflarının nesneleri aşağıda belirtilmiştir:
dizi akışı str1 ;
ostringstream str1 ;
dot(.) operatörü, sınıf nesnelerine erişmek için kullanılır.
Not : “ kullanarak dizeleri hızlı bir şekilde yazabilir, okuyabilir ve değiştirebilirsiniz. dizi akışı ' sınıf. Gibi ' cout ' Ve ' yemek yiyor ” akışları, biçimlendirilmiş verilere erişim sağlar ve bunları değiştirir. Geliştiriciler, akıştan veri çekmek için ekleme '<<' operatörünü ve akışa veri koymak için '>>' operatörünü kullanabilir.
Şimdi, stringstream olarak bilinen “StringBuilder” sınıfını gösteren bir C++ örneğinin basit uygulamasına geçeceğiz.
Örnek 1: 'stringstream' ile StringBuilder
StringBuilder sınıfı, stringstream sınıfıyla birlikte kullanılabilir. İşte bir örnek:
#include
#include
kullanarak ad alanı std ;
int ana ( ) {
ostringstream str1 ;
dize adı = 'Hazal' ;
int yaş = 12 ;
str1 << 'İsmi: ' << isim << son ;
str1 << 'Yaş: ' << yaş << son ;
cout << str1. str ( ) << son ;
geri dönmek 0 ;
}
Yukarıda belirtilen örnekte, “ ostringstream ' adında bir nesne oluşturmak için sınıf ' str1 ” ki bu bir StringBuilder'dır. Ardından, “ isim ' Ve ' yaş ” değişkenleri ve bunları “<<” operatörünü kullanarak “str1” dizisine ekledi. Son olarak “ str1.str() Çıktıyı aşağıda gösterildiği gibi görüntülemek için birleştirilmiş dizgiyi konsola itme yöntemi:
Örnek 2: Dizeyi Yönetmek için 'stringstream' ile StringBuilder
“ Kullanılacak başka bir örnek std::stringstream ” bir diziye veri eklemek için aşağıda açıklanmıştır:
#include
#include
int ana ( ) {
std :: dizi akışı benim_dizem ;
std :: sicim isim = 'çok' ;
int yaş = 24 ;
// Dizi akışına veri ekle
benim_dizem << 'Benim ismim ' << isim << ' ve ben ' << yaş << ' yaşında.' ;
// Dize akışından dizeyi al
std :: sicim sonucum = my_string. str ( ) ;
// Sonucu yazdır
std :: cout << sonucum << std :: son ;
geri dönmek 0 ;
}
Yukarıdaki örnekte, “adlı bir nesne oluşturduk. benim_dizem ” bir “ den std::stringstream ”. Ardından, ekleme operatörünü kullandı ' << ” hazırlanan verileri “ dizi akışı ”. Bundan sonra “ str() 'stringstream'den dizeyi ayıklamak ve onu ' sonucum ” değişken. Son olarak “ std::cout ” sonucu aşağıdaki gibi yazdırmak için:
Örnek 3: StringBuilder 'stringstream' Sınıfını Kullanarak Bir Dizi Oluşturun, Okuyun ve Değiştirin
StringBuilder stringstream sınıfını kullanarak bir dize oluşturmak, okumak ve değiştirmek için bir ' str1 ” nesneden bir “ std::stringstream ”. Ardından, ekleme operatörünü kullandı ' << ” dize akışına hazırlanmış verileri eklemek için. Ardından “ benim adım ' Ve ' yaşım ” değişken değerleri stringstream'e. Dizeyi stringstream aracılığıyla ayıklamak için “ str() ' yöntem. Son olarak, “ kullanarak sonucu yazdırın. std::cout ' ifade:
#include
#include
int ana ( ) {
std :: dizi akışı str1 ;
std :: sicim benim adım = 'Hamza' ;
int yaşım = 22 ;
// Dizi akışına veri ekle
str1 << 'Benim ismim ' << benim adım << ' ve ben ' << yaşım << ' yaşında.' ;
// stringstream'den stringi al
std :: sicim son sonuç = str1. str ( ) ;
// Sonucu yazdır
std :: cout << 'Girilen dize:' << son sonuç << std :: son ;
// stringstream'i temizle
str1. str ( '' ) ;
// Dizeyi değiştir
benim adım = 'Veya' ;
yaşım = 25 ;
// stringstream'e yeni veri ekle
str1 << 'Benim ismim ' << benim adım << ' ve ben ' << yaşım << ' yaşında.' ;
// Dize akışından değiştirilmiş dizeyi alın
son sonuç = str1. str ( ) ;
// Değiştirilen diziyi yazdır
std :: cout << 'Değiştirilen dize:' << son sonuç << std :: son ;
geri dönmek 0 ;
}
Çıktı:
C++'da StringBuilder sınıfını kısaca tartıştık.
Çözüm
C++'da StringBuilder sınıfı, dizeleri birleştirmek için değerli bir araçtır. Olarak bilinir ' dizi akışı ”. Birçok programlama ayarında akış işlemlerini kullanan dizilerle çalışmanın etkili bir yoludur. Geliştiriciler, stringstream sınıfını kullanarak dizeleri kolaylıkla oluşturabilir, okuyabilir ve değiştirebilir. Bu kılavuz, C++'daki StringBuilder sınıfı üzerinde ayrıntılı olarak açıklanmıştır.