<string>
コンテナーのテンプレート クラス basic_string とさまざまなサポートのテンプレートを定義します。
basic_string の詳細については、「basic_string Class」を参照してください。
namespace std {
template<class CharType>
class char_traits;
template<>
class char_traits<char>;
template<>
class char_traits<wchar_t>;
template<>
class char_traits<char16_t>;
template<>
class char_traits<char32_t>;
template<
class CharType,
class Traits = char_traits<CharType>,
class Allocator = allocator<CharType>
> class basic_string;
typedef basic_string<char> string;
typedef basic_string<wchar_t> wstring;
typedef basic_string<char16_t> u16string;
typedef basic_string<char32_t> u32string;
// NARROW FUNCTIONS
int stoi (
const string& _Str,
size_t *_Idx = 0,
int _Base = 10
);
long stol (
const string& _Str,
size_t *_Idx = 0,
int _Base = 10
);
unsigned long stoul (
const string& _Str,
size_t *_Idx = 0,
int _Base = 10
);
long long stoll (
const string& _Str,
size_t *_Idx = 0,
int _Base = 10
);
unsigned long long stoull (
const string& _Str,
size_t *_Idx = 0,
int _Base = 10
);
float stof (
const string& _Str,
size_t *_Idx = 0
);
double stod (
const string& _Str,
size_t *_Idx = 0
);
long double stold (
const string& _Str,
size_t *_Idx = 0
);
string to_string (long long _Val);
string to_string (unsigned long long _Val);
string to_string (long double _Val);
// WIDE FUNCTIONS
int stoi (
const wstring& _Str,
size_t *_Idx = 0,
int _Base = 10
);
long stol (
const wstring& _Str,
size_t *_Idx = 0,
int _Base = 10
);
unsigned long stoul (
const wstring& _Str,
size_t *_Idx = 0,
int _Base = 10
);
long long stoll (
const wstring& _Str,
size_t *_Idx = 0,
int _Base = 10
);
unsigned long long stoull (
const wstring& _Str,
size_t *_Idx = 0,
int _Base = 10
);
float stof (
const wstring& _Str,
size_t *_Idx = 0
);
double stod (
const wstring& _Str,
size_t *_Idx = 0
);
long double stold (
const wstring& _Str,
size_t *_Idx = 0
);
wstring to_wstring (long long _Val);
wstring to_wstring (unsigned long long _Val);
wstring to_wstring (long double _Val);
// TEMPLATE FUNCTIONS
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator> operator+ (
const basic_string<CharType, Traits, Allocator>& _Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator> operator+ (
const basic_string<CharType, Traits, Allocator>& _Left,
const CharType *_Right
);
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator> operator+ (
const basic_string<CharType, Traits, Allocator>& _Left,
CharType _Right
);
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator> operator+ (
const CharType *_Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator> operator+ (
CharType _Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator>&& operator+ (
const basic_string<CharType, Traits, Allocator>& _Left,
const basic_string<CharType, Traits, Allocator>&& _Right
);
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator>&& operator+ (
const basic_string<CharType, Traits, Allocator>&& _Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator>&& operator+ (
const basic_string<CharType, Traits, Allocator>&& _Left,
const basic_string<CharType, Traits, Allocator>&& _Right
);
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator>&& operator+ (
const basic_string<CharType, Traits, Allocator>&& _Left,
const CharType *_Right
);
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator>&& operator+ (
const basic_string<CharType, Traits, Allocator>&& _Left,
CharType _Right
);
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator>&& operator+ (
const CharType *_Left,
const basic_string<CharType, Traits, Allocator>&& _Right
);
template<class CharType, class Traits, class Allocator>
basic_string<CharType, Traits, Allocator>&& operator+ (
CharType _Left,
const basic_string<CharType, Traits, Allocator>&& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator== (
const basic_string<CharType, Traits, Allocator>& _Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator== (
const basic_string<CharType, Traits, Allocator>& _Left,
const CharType *_Right
);
template<class CharType, class Traits, class Allocator>
bool operator== (
const CharType *_Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator!= (
const basic_string<CharType, Traits, Allocator>& _Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator!= (
const basic_string<CharType, Traits, Allocator>& left,
const CharType *_Right
);
template<class CharType, class Traits, class Allocator>
bool operator!= (
const CharType *_Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator< (
const basic_string<CharType, Traits, Allocator>& _Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator< (
const basic_string<CharType, Traits, Allocator>& _Left,
const CharType *_Right
);
template<class CharType, class Traits, class Allocator>
bool operator< (
const CharType *_Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator>= (
const basic_string<CharType, Traits, Allocator>& _Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator>= (
const basic_string<CharType, Traits, Allocator>& _Left,
const CharType *_Right
);
template<class CharType, class Traits, class Allocator>
bool operator>= (
const CharType *_Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator> (
const basic_string<CharType, Traits, Allocator>& _Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator> (
const basic_string<CharType, Traits, Allocator>& _Left,
const CharType *_Right
);
template<class CharType, class Traits, class Allocator>
bool operator> (
const CharType *_Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator<= (
const basic_string<CharType, Traits, Allocator>& _Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
bool operator<= (
const basic_string<CharType, Traits, Allocator>& _Left,
const CharType *_Right
);
template<class CharType, class Traits, class Allocator>
bool operator<= (
const CharType *_Left,
const basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
void swap (
basic_string<CharType, Traits, Allocator>& _Left,
basic_string<CharType, Traits, Allocator>& _Right
);
template<class CharType, class Traits, class Allocator>
basic_ostream<CharType>& operator<< (
basic_ostream<CharType>& _OStream,
const basic_string<CharType, Traits, Allocator>& _Str
);
template<class CharType, class Traits, class Allocator>
basic_istream<CharType>& operator>> (
basic_istream<CharType>& _IStream,
basic_string<CharType, Traits, Allocator>& _Str
);
template<class CharType, class Traits, class Allocator>
basic_istream<CharType, Traits>& getline (
basic_istream<CharType, Traits>& _IStream,
basic_string<CharType, Traits, Allocator>& _Str
);
template<class CharType, class Traits, class Allocator>
basic_istream<CharType, Traits>& getline (
basic_istream<CharType, Traits>& _IStream,
basic_string<CharType, Traits, Allocator>& _Str,
CharType _Delimiter
);
template<class CharType, class Traits, class Allocator>
basic_istream<CharType, Traits>& getline (
basic_istream<CharType, Traits>&& _IStream,
basic_string<CharType, Traits, Allocator>& _Str
);
template<class CharType, class Traits, class Allocator>
basic_istream<CharType, Traits>& getline (
basic_istream<CharType, Traits>&& _IStream,
basic_string<CharType, Traits, Allocator>& _Str,
CharType _Delimiter
);
} // namespace std
パラメーター
CharType
文字データ型を記述するテンプレート パラメーター。プロパティ
CharType の文字データのプロパティを説明するテンプレート パラメーター。アロケーター
格納済みのメモリ アロケーター オブジェクトを記述するテンプレート パラメーター。_Str
basic_string サポートの CharType のその文字データ。_Val
変換される値。_Idx
最初の変換されていない文字のインデックス値。_Base
使用する番号です。_IStream
入力ストリームのサポート CharType のその文字データ。_OStream
出力ストリームのサポート CharType のその文字データ。_Delimiter
行の区切り記号。_Left
1 番目 ()、残りのパラメーターを basic_string、文字データ比較します。_Right
2 番目のパラメーター (右) を、basic_string、文字データ比較します。
解説
C++ 言語および標準 C++ ライブラリは文字列の 2 種類をサポートします:
頻繁に C 文字列と呼ばれる NULL で終わる文字配列。
すべての charのようなテンプレート引数を処理するテンプレート クラスは、型のオブジェクト basic_string。
Typedef
stringとして char 型の要素を持つテンプレート クラスから特化した basic_string を記述する型。 |
|
wstringとして wchar_t 型の要素を持つテンプレート クラスから特化した basic_string を記述する型。 |
|
テンプレート クラスから特化した basic_string を記述する型が char16_tの要素に基づいて。 |
|
テンプレート クラスから特化した basic_string を記述する型が char32_tの要素に基づいて。 |
演算子
2 文字列オブジェクトを連結します。 |
|
演算子の左側の文字列オブジェクトが右側の文字列オブジェクトと等しくないかどうかを調べます。 |
|
演算子の左側の文字列オブジェクトが右側の文字列オブジェクトと等しいかどうかを調べます。 |
|
演算子の左側の文字列オブジェクトが右側の文字列オブジェクトにより小さいかどうかをテストします。 |
|
演算子の左側の文字列オブジェクトが右側の文字列オブジェクト以下かどうかをテストします。 |
|
出力ストリームに文字列を挿入テンプレート関数。 |
|
演算子の左側の文字列オブジェクトが右側の文字列オブジェクトにより大きいかどうかを調べます。 |
|
演算子の左側の文字列オブジェクトが右側の文字列オブジェクトの値以上でテスト。 |
|
入力ストリームから文字列を抽出するテンプレート関数。 |
特化したテンプレートの関数
2 文字の文字列の配列を交換します。 |
|
double.に文字列に変換します |
|
floatに文字列に変換します。 |
|
整数に文字列に変換します。 |
|
long doubleに文字列に変換します。 |
|
long longに文字列に変換します。 |
|
unsigned longに文字列に変換します。 |
|
unsigned long longに文字列に変換します。 |
|
値を string に変換します。 |
|
ワイド stringに値を変換します。 |
関数
1 行ずつ入力ストリームから抽出の文字列。 |
Classes
任意の文字形式のオブジェクトのシーケンスを格納できるオブジェクトを表すテンプレート クラス。 |
|
型 CharType の文字に関連付けられた属性を記述するテンプレート クラス |
特殊化
型 charの要素にテンプレートの構造体 char_traits<CharType> の特殊化にする構造体。 |
|
型 wchar_tの要素にテンプレートの構造体 char_traits<CharType> の特殊化にする構造体。 |
|
型 char16_tの要素にテンプレートの構造体 char_traits<CharType> の特殊化にする構造体。 |
|
型 char32_tの要素にテンプレートの構造体 char_traits<CharType> の特殊化にする構造体。 |
必要条件
ヘッダー: <string>
名前空間: std