| ア | イ | ウ | エ | オ |
| カ | キ | ク | ケ | コ |
| サ | シ | ス | セ | ソ |
| タ | チ | ツ | テ | ト |
| ナ | ニ | ヌ | ネ | ノ |
| ハ | ヒ | フ | ヘ | ホ |
| マ | ミ | ム | メ | モ |
| ヤ | ユ | ヨ | ||
| ラ | リ | ル | レ | ロ |
| ワ | ヰ | ヴ | ヱ | ヲ |
| ン |
| A | B | C | D | E |
| F | G | H | I | J |
| K | L | M | N | O |
| P | Q | R | S | T |
| U | V | W | X | Y |
| Z | 数字 | 記号 | ||
標準C++ライブラリに含まれる、文字列を扱うためのクラス。STLではないが、STLと完全な互換性がある。
#include <string>
stringはクラスだが、その正体はテンプレートクラスbasic_stringである。1文字を1要素として扱う、コンテナーとして機能する。
template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> > class basic_string;
typedef basic_string<char> string;
typedef basic_string<wchar_t> wstring;
stringはchar型だが、同様にUnicode文字wchar_t型を扱うstd::wstringがある。またC++11からは、char16_t型およびchar32_t型のものも追加された。
typedef basic_string<char16_t> u16string;
typedef basic_string<char32_t> u32string;
わかりやすく言えば、例えばstd::stringはstd::basic_string<char>の別名ということである。
文法は次の通り。
string();
string(size_type size, char chr);
string(const char *str);
string(const char *str, size_type size);
string(string &str, size_type index, size_type size);
string(input_iterator start, input_iterator end);
上から順に、次のように文字列は作られる。
文法は次の通り。
s1 == s2
s1 > s2
s1 < s2
s1 >= s2
s1 <= s2
s1 != s2
s1 + s2
s1 += s2
s[]
各文字列は、比較演算子によって比較できる。
各文字列は、+演算子および+=演算子によって結合することができる。
[]演算子によって、特定の位置の文字を参照することができる。
| append() | 文字列の後ろに他の文字列を連結する |
| assign() | 文字列にテクストを割り当てる |
| at() | 指定されたインデックスの文字を返す |
| begin() | 最初の文字を示すイテレーターを返す |
| c_str() | C言語形式の文字配列(ASCIIZ)を返す |
| capacity() | 文字列が格納できる文字数を返す |
| compare() | 2つの文字列を比較する |
| copy() | 文字列の中に文字列をコピーする |
| data() | 最初の文字へのポインタを返す |
| empty() | 文字列が空ならtrueを返す |
| end() | 文字列の最後を指すイテレーターを返す |
| erase() | 文字列の一部分を削除する |
| find() | 文字列を検索する |
| find_first_of() | 文字列を検索し、最初の要素のインデックスを返す |
| find_first_not_of() | 文字列を検索し、最初の要素でないインデックスを返す |
| find_last_of() | 文字を検索し、一番最後の要素のインデックスを返す |
| find_last_not_of() | 文字を検索し、一番最後の要素でないインデックスを返す |
| get_allocator() | 文字列のアロケーターを返す |
| insert() | 文字列の中に他の文字列を挿入する |
| length() | 文字列の長さを返す |
| max_size() | 文字列が保持することができる最大の長さを返す |
| rbegin() | 文字列の最後を示すリバースイテレーターを返す |
| rend() | 文字列の最初を示すリバースイテレーターを返す |
| replace() | 文字列の中の文字を置換する |
| reserve() | 文字を格納する容量を確保する |
| resize() | 文字列の大きさを変更する |
| rfind() | 文字列を検索し、最後の要素のインデックスを返す |
| size() | 文字列の文字数を返す |
| substr() | 文字列の一部切り出した文字列を返す |
| swap() | 2つの文字列を交換する |
コメントなどを投稿するフォームは、日本語対応時のみ表示されます