CodeBlanks Logo Icon CodeBlanks

ostringstream

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

main.cpp
#include <iostream>
#include <sstream>
#include <string>

int main() {
    // Dizeyi birleştir ve yazdır

    return 0;
}

Örnek çözüm

main.cpp
#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

Soru
std::string sonuc = oss.____();
Cevap
std::string sonuc = oss.str();

Açıklama: .str() akışın dizesini verir.

3 ostringstream oss; oss << 42; oss.str() ne döner?

main.cpp
std::ostringstream oss;
oss << 42;
oss.str();
  • "oss"
  • 42
  • '4'
  • "42" Doğru cevap

Açıklama: str() sayıyı dize olarak verir: "42".

Orta seviye bölümündeki tüm dersler