basic_stringbuf::str
Ayarlar veya metin yazma konumunu değiştirmeden bir dize arabelleğindeki alır.
basic_string<Elem, Tr, Alloc> str( ) const;
void str(
const basic_string<Elem, Tr, Alloc>& _Newstr
);
Parametreler
- _Newstr
Yeni dize.
Dönüş Değeri
Sınıfın bir nesnesi döndüren basic_string<Elem, Tr, ayırma**>,** sırası kopyasını denetlenir, denetlenen sırası * Bu.
Notlar
İlk üye işlevi bir sınıf basic_string nesnesidöndürür <Elem, Tr, Alloc>, denetlenen sırasıdır tarafından denetlenen sırası kopyasını * Bu.Kopyalanan sırası saklı stringbuf moduna bağlıdır:
Mod & ios_base::out sıfırdan farklı ise ve Çıktı arabelleği yok, tüm çıkış arabelleği dizisidir (epptr - pbase ile başlayan öğeleri pbase).
Mod & ios_base::in sıfırdan farklı olan ve bir giriş arabellek bulunmaktadır, tüm giriş arabelleği dizisidir (egptr - eback ile başlayan öğeleri eback).
Aksi halde, kopyalanan boş dizisidir.
İkinci üye işlevi tarafından şu anda kontrol herhangi bir sıra seçeneklerindeki * Bu.Daha sonra tarafından denetlenen sırası kopyasını ayırır _Newstr.Mod & ios_base::in ise sıfırdan farklı, bunu okuma sırası başında başlatmak için giriş arabelleği belirler.Mod & ios_base::out ise sıfırdan farklı, bunu yazma sıra başında başlatmak için çıkış arabelleği belirler.
Örnek
// basic_stringbuf_str.cpp
// compile with: /EHsc
#include <iostream>
#include <sstream>
using namespace std;
int main( )
{
basic_string<char> i( "test" );
stringstream ss;
ss.rdbuf( )->str( i );
cout << ss.str( ) << endl;
ss << "z";
cout << ss.str( ) << endl;
ss.rdbuf( )->str( "be" );
cout << ss.str( ) << endl;
}
Gereksinimler
Başlık: <sstream>
Namespace: std