Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
<string> Üst bilgi aşağıdaki işlevleri sağlar:
getline
Giriş akışından dizeleri satır satır ayıklayın.
// (1) delimiter as parameter
template <class CharType, class Traits, class Allocator>
basic_istream<CharType, Traits>& getline(
basic_istream<CharType, Traits>& in_stream,
basic_string<CharType, Traits, Allocator>& str,
CharType delimiter);
template <class CharType, class Traits, class Allocator>
basic_istream<CharType, Traits>& getline(
basic_istream<CharType, Traits>&& in_stream,
basic_string<CharType, Traits, Allocator>& str,
const CharType delimiter);
// (2) default delimiter used
template <class CharType, class Traits, class Allocator>
basic_istream<CharType, Traits>& getline(
basic_istream<CharType, Traits>& in_stream,
basic_string<CharType, Traits, Allocator>& str);
template <class Allocator, class Traits, class Allocator>
basic_istream<Allocator, Traits>& getline(
basic_istream<Allocator, Traits>&& in_stream,
basic_string<Allocator, Traits, Allocator>& str);
Parametreler
in_stream
Bir dizenin ayıklanması için giriş akışı.
str
Giriş akışındaki karakterlerin okunduğu dize.
delimiter
Çizgi sınırlayıcısı.
Dönüş Değeri
Giriş akışı in_stream.
Açıklamalar
bulunana kadar (1) içindeki karakterleri in_stream ayıkla olarak işaretlenen delimiter işlev imzaları çifti bunları içinde strdepolar.
İşaretlenen (2) işlev imzaları çifti, varsayılan satır sınırlayıcısı olarak yeni satır kullanır ve olarak getline(in_stream, str, in_stream. widen('\n'))davranır.
Her çiftin ikinci işlevi, başvuruları destekleyen rvalue ilk çifte bir analogdur.
Aşağıdakilerden biri gerçekleştiğinde ayıklama durdurulur:
Dosyanın sonunda iç durum bayrağı
in_streamolarakios_base::eofbitayarlanır.İşlev, ile eşit
delimiterolan bir öğeyi ayıkladıktan sonra. öğesi, denetimli diziye geri yerleştirilmez veya eklenmez.İşlev öğeleri ayıkladıktan
str.max_sizesonra. iç durum bayrağıin_streamolarakios_base::failbitayarlanır.Daha önce listelenenler dışında bazı başka hatalar; iç durum bayrağı
in_streamolarakios_base::badbitayarlanır.
İç durum bayrakları hakkında bilgi için bkz ios_base::iostate. .
İşlev hiçbir öğe ayıklamazsa, iç durum bayrağı in_stream olarak ios_base::failbitayarlanır. Her durumda döndürür getlinein_stream.
Özel durum oluşturulursa in_stream ve str geçerli bir durumda bırakılırsa.
Örnek
Aşağıdaki kod iki modda gösterilir getline() : ilk olarak varsayılan sınırlayıcı (yeni satır) ve ikincisinde sınırlayıcı olarak boşluk vardır. Dosya sonu karakteri (klavyede CTRL-Z), while döngülerinin sonlandırılmasını denetlemek için kullanılır. Bu değer, öğesinin iç durum bayrağını cineofbitolarak ayarlar ve ikinci while döngüsü düzgün çalışmadan önce ile basic_ios::clear() temizlenmelidir.
// compile with: /EHsc /W4
#include <string>
#include <iostream>
#include <vector>
using namespace std;
int main()
{
string str;
vector<string> v1;
cout << "Enter a sentence, press ENTER between sentences. (Ctrl-Z to stop): " << endl;
// Loop until end-of-file (Ctrl-Z) is input, store each sentence in a vector.
// Default delimiter is the newline character.
while (getline(cin, str)) {
v1.push_back(str);
}
cout << "The following input was stored with newline delimiter:" << endl;
for (const auto& p : v1) {
cout << p << endl;
}
cin.clear();
vector<string> v2;
// Now try it with a whitespace delimiter
while (getline(cin, str, ' ')) {
v2.push_back(str);
}
cout << "The following input was stored with whitespace as delimiter:" << endl;
for (const auto& p : v2) {
cout << p << endl;
}
}
stod
Karakter dizisini öğesine doubledönüştürür.
double stod(
const string& str,
size_t* idx = 0);
double stod(
const wstring& str,
size_t* idx = 0);
Parametreler
str
Dönüştürülecek karakter dizisi.
idx
İlk dönüştürülmemiş karakterin dizin değeri.
Dönüş Değeri
double değeri.
Açıklamalar
işlevi, işlevin str içindeki bir nesne olan öğesini çağırarak doublestrtod( str.c_str(), _Eptr) gibi içindeki öğelerin sırasını türünde _Eptr bir değere dönüştürür. ise str.c_str() == *_Eptrtüründe bir nesnesi invalid_argumentoluşturur. Böyle bir çağrı ayarlanırsa errnotüründe out_of_rangebir nesnesi oluşturur. Aksi takdirde, null işaretçi değilse idx işlev içinde *_Eptr - str.c_str() depolar *idx ve değeri döndürür.
stof
Karakter dizisini float'a dönüştürür.
float stof(
const string& str,
size_t* idx = 0);
float stof(
const wstring& str,
size_t* idx = 0);
Parametreler
str
Dönüştürülecek karakter dizisi.
idx
İlk dönüştürülmemiş karakterin dizin değeri.
Dönüş Değeri
float değeri.
Açıklamalar
işlevi, işlevin str içindeki bir nesne olan öğesini çağırarak floatstrtof( str.c_str(), _Eptr) gibi içindeki öğelerin sırasını türünde _Eptr bir değere dönüştürür. ise str.c_str() == *_Eptrtüründe bir nesnesi invalid_argumentoluşturur. Böyle bir çağrı ayarlanırsa errnotüründe out_of_rangebir nesnesi oluşturur. Aksi takdirde, null işaretçi değilse idx işlev içinde *_Eptr - str.c_str() depolar *idx ve değeri döndürür.
stoi
Karakter dizisini tamsayıya dönüştürür.
int stoi(
const string& str,
size_t* idx = 0,
int base = 10);
int stoi(
const wstring& str,
size_t* idx = 0,
int base = 10);
Dönüş Değeri
Tamsayı değeri.
Parametreler
str
Dönüştürülecek karakter dizisi.
idx
İlk dönüştürülmemiş karakterin dizin değeri.
base
Kullanılacak sayı tabanı.
Açıklamalar
işlevistoi, str içindeki karakter dizisini tür int değerine dönüştürür ve değeri döndürür. Örneğin, "10" karakter dizisi geçirildiğinde, tarafından stoi döndürülen değer 10 tamsayıdır.
stoiişlevine benzer şekilde çağrıldığında strtoltek baytlı karakterler için işlevine strtol( str.c_str(), _Eptr, idx) benzer şekilde davranır. Burada _Eptr işlevin içindeki bir nesnedir veya wcstol geniş karakterler için benzer şekilde çağrıldığında . wcstol(Str.c_str(), _Eptr, idx) Daha fazla bilgi için bkz. strtol, wcstol, _strtol_l, _wcstol_l.
ise str.c_str() == *_Eptrtüründe stoi bir nesnesi invalid_argumentoluşturur. Böyle bir çağrı ayarlanacaksa errnoveya döndürülen değer türünde intbir nesne olarak temsil edilemiyorsa türünde bir nesnesi out_of_rangeoluşturur. Aksi takdirde, idx null işaretçi değilse, işlevi içinde *_Eptr - str.c_str()depolar*idx.
stol
Karakter dizisini öğesine longdönüştürür.
long stol(
const string& str,
size_t* idx = 0,
int base = 10);
long stol(
const wstring& str,
size_t* idx = 0,
int base = 10);
Parametreler
str
Dönüştürülecek karakter dizisi.
idx
İlk dönüştürülmemiş karakterin dizin değeri.
base
Kullanılacak sayı tabanı.
Dönüş Değeri
Uzun tamsayı değeri.
Açıklamalar
işlevi, str içindeki ise str.c_str() == *_Eptrtüründe bir nesnesi invalid_argumentoluşturur. Böyle bir çağrı ayarlanırsa errnotüründe out_of_rangebir nesnesi oluşturur. Aksi takdirde, null işaretçi değilse idx işlev içinde *_Eptr - str.c_str() depolar *idx ve değeri döndürür.
stold
Karakter dizisini öğesine long doubledönüştürür.
double stold(
const string& str,
size_t* idx = 0);
double stold(
const wstring& str,
size_t* idx = 0);
Parametreler
str
Dönüştürülecek karakter dizisi.
idx
İlk dönüştürülmemiş karakterin dizin değeri.
Dönüş Değeri
long double değeri.
Açıklamalar
işlevi, str içindeki ise str.c_str() == *_Eptrtüründe bir nesnesi invalid_argumentoluşturur. Böyle bir çağrı ayarlanırsa errnotüründe out_of_rangebir nesnesi oluşturur. Aksi takdirde, null işaretçi değilse idx işlev içinde *_Eptr - str.c_str() depolar *idx ve değeri döndürür.
stoll
Karakter dizisini öğesine long longdönüştürür.
long long stoll(
const string& str,
size_t* idx = 0,
int base = 10);
long long stoll(
const wstring& str,
size_t* idx = 0,
int base = 10);
Parametreler
str
Dönüştürülecek karakter dizisi.
idx
İlk dönüştürülmemiş karakterin dizin değeri.
base
Kullanılacak sayı tabanı.
Dönüş Değeri
long long değeri.
Açıklamalar
işlevi, str içindeki ise str.c_str() == *_Eptrtüründe bir nesnesi invalid_argumentoluşturur. Böyle bir çağrı ayarlanırsa errnotüründe out_of_rangebir nesnesi oluşturur. Aksi takdirde, idx null işaretçi değilse işlev içinde *_Eptr - str.c_str() depolar *idx ve değeri döndürür.
stoul
Karakter dizisini işaretsiz uzun bir süreye dönüştürür.
unsigned long stoul(
const string& str,
size_t* idx = 0,
int base = 10);
unsigned long stoul(
const wstring& str,
size_t* idx = 0,
int base = 10);
Parametreler
str
Dönüştürülecek karakter dizisi.
idx
İlk dönüştürülmemiş karakterin dizin değeri.
base
Kullanılacak sayı tabanı.
Dönüş Değeri
İşaretsiz uzun tamsayı değeri.
Açıklamalar
işlevi, str içindeki ise str.c_str() == *_Eptrtüründe bir nesnesi invalid_argumentoluşturur. Böyle bir çağrı ayarlanırsa errnotüründe out_of_rangebir nesnesi oluşturur. Aksi takdirde, idx null işaretçi değilse işlev içinde *_Eptr - str.c_str() depolar *idx ve değeri döndürür.
stoull
Karakter dizisini öğesine unsigned long longdönüştürür.
unsigned long long stoull(
const string& str,
size_t* idx = 0,
int base = 10);
unsigned long long stoull(
const wstring& str,
size_t* idx = 0,
int base = 10);
Parametreler
str
Dönüştürülecek karakter dizisi.
idx
İlk dönüştürülmemiş karakterin dizin değeri.
base
Kullanılacak sayı tabanı.
Dönüş Değeri
unsigned long long değeri.
Açıklamalar
işlevi, str içindeki ise str.c_str() == *_Eptrtüründe bir nesnesi invalid_argumentoluşturur. Böyle bir çağrı ayarlanırsa errnotüründe out_of_rangebir nesnesi oluşturur. Aksi takdirde, null işaretçi değilse idx işlev içinde *_Eptr - str.c_str() depolar *idx ve değeri döndürür.
swap
İki dizenin karakter dizilerini değiştirir.
template <class Traits, class Allocator>
void swap(basic_string<CharType, Traits, Allocator>& left, basic_string<CharType, Traits, Allocator>& right);
Parametreler
left
Öğeleri başka bir dizenin öğeleriyle değiştirilecek bir dize.
right
Öğeleri ilk dizeyle değiştirilecek diğer dize.
Açıklamalar
Şablon işlevi, dizeler için özelleştirilmiş üye işlevini left.swap(right) yürütür ve bu da sabit karmaşıklığı garanti eder.
Örnek
// string_swap.cpp
// compile with: /EHsc
#include <string>
#include <iostream>
int main( )
{
using namespace std;
// Declaring an object of type basic_string<char>
string s1 ( "Tweedledee" );
string s2 ( "Tweedledum" );
cout << "Before swapping string s1 and s2:" << endl;
cout << "The basic_string s1 = " << s1 << "." << endl;
cout << "The basic_string s2 = " << s2 << "." << endl;
swap ( s1 , s2 );
cout << "\nAfter swapping string s1 and s2:" << endl;
cout << "The basic_string s1 = " << s1 << "." << endl;
cout << "The basic_string s2 = " << s2 << "." << endl;
}
Before swapping string s1 and s2:
The basic_string s1 = Tweedledee.
The basic_string s2 = Tweedledum.
After swapping string s1 and s2:
The basic_string s1 = Tweedledum.
The basic_string s2 = Tweedledee.
to_string
Bir değeri değerine stringdönüştürür.
string to_string(int value);
string to_string(unsigned int value);
string to_string(long value);
string to_string(unsigned long value);
string to_string(long long value);
string to_string(unsigned long long value);
string to_string(float value);
string to_string(double value);
string to_string(long double value);
Parametreler
value
Dönüştürülecek değer.
Dönüş Değeri
string değerini temsil eden.
Açıklamalar
işlevi, işlevini çağırarak işlevin içindeki bir dizi nesnesinde Buf depolanan bir öğe dizisine dönüştürürsprintf(Buf, Fmt, value). BuradaFmt,
"%d"türündeysevalueint"%u"türündeysevalueunsigned int"%ld"türündeysevaluelong"%lu"türündeysevalueunsigned long"%lld"türündeysevaluelong long"%llu"türündeysevalueunsigned long long"%f"veya türündeysevaluefloatdouble"%Lf"türündeysevaluelong double
işlevi döndürür string(Buf).
to_wstring
Bir değeri geniş dizeye dönüştürür.
wstring to_wstring(int value);
wstring to_wstring(unsigned int value);
wstring to_wstring(long value);
wstring to_wstring(unsigned long value);
wstring to_wstring(long long value);
wstring to_wstring(unsigned long long value);
wstring to_wstring(float value);
wstring to_wstring(double value);
wstring to_wstring(long double value);
Parametreler
value
Dönüştürülecek değer.
Dönüş Değeri
Değeri temsil eden geniş dize.
Açıklamalar
İşlev, işlevini çağırarak valueişlevin içindeki bir dizi nesnesinde Buf depolanan öğe dizisine dönüştürürswprintf(Buf, Len, Fmt, value). BuradaFmt,
L"%d"türündeysevalueintL"%u"türündeysevalueunsigned intL"%ld"türündeysevaluelongL"%lu"türündeysevalueunsigned longL"%lld"türündeysevaluelong longL"%llu"türündeysevalueunsigned long longL"%f"veya türündeysevaluefloatdoubleL"%Lf"türündeysevaluelong double
işlevi döndürür wstring(Buf).