ostringstream
- C++ kursu
- Orta seviye
- Ders 95/116
- 5 dk
ostringstream ile dizeye yazma öğrenirsin.
ostringstream ile dize kurma
std::ostringstream parçaları birleştirerek bir dize oluşturur. << operatörüyle dize, sayı ve değişkenleri arka arkaya yazarsın.
Örnek: std::ostringstream oss; oss << "Yaş: " << 25;. Burada oss akışına önce "Yaş: " dizesi sonra 25 sayısı yazılır. Oluşan dizeyi oss.str() ile alırsın: std::string sonuc = oss.str(); sonucu "Yaş: 25" olur. Bu yöntem, birden çok parçayı tek dizede toplamanın temiz yoludur; + ile elle birleştirmekten daha esnektir.
str() ile dizeyi alma
Bir ostringstream akışına yazdığın tüm veriyi .str() metodu tek bir dize olarak verir. Bu dizeyi istediğin yerde kullanabilirsin.
Örnek: oss << "Ad: " << ad << " Yaş: " << yas; std::cout << oss.str();. Bu, dört parçayı birleştirip ekrana yazdırır. .str() çağrısı akışın içeriğini değiştirmez; istediğin kadar çağırabilirsin. Akışı temizlemek için oss.str(""); yaparsın. Bu esneklik, ostringstream'i günlük çıktı biçimlendirmede güçlü bir araç yapar.
Uygulama Dizeyi birleştir ve yazdır
Bir std::ostringstream oluştur. << ile "Sonuç: " dizesini ve 42 sayısını yaz. .str() ile oluşan dizeyi al ve std::cout ile yazdır.
Başlangıç kodu
#include <iostream>
#include <sstream>
#include <string>
int main() {
// Dizeyi birleştir ve yazdır
return 0;
}Örnek çözüm
#include <iostream>
#include <sstream>
#include <string>
int main() {
std::ostringstream oss;
oss << "Sonuç: " << 42;
std::cout << oss.str();
return 0;
}Beklenen çıktı
Sonuç: 42
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Parçayı rolüne eşle
| Kavram | Anlamı |
|---|---|
ostringstream |
Dizeye yazma |
<< |
Veri yazma |
.str() |
Dizeyi alma |
oss << 42 |
Sayı yazma |
2 str() çağrısını tamamla
std::string sonuc = oss.____();
std::string sonuc = oss.str();
Açıklama: .str() akışın dizesini verir.
3 ostringstream oss; oss << 42; oss.str() ne döner?
std::ostringstream oss;
oss << 42;
oss.str();- "oss"
- 42
- '4'
- "42" Doğru cevap
Açıklama: str() sayıyı dize olarak verir: "42".