7.5.4 文字列操作用クラスライブラリ

文字列操作用クラスライブラリに対応するヘッダファイルは以下の通りです。

-

<string>

stringクラスを定義します。

 

本クラスには派生関係はありません。

(a)

stringクラス

種別

定義名

説明

iterator

char*型です。

const_iterator

const char*型です。

定数

npos

文字列の最大長(UINT_MAX文字)です。

変数

s_ptr

オブジェクトが文字列を格納している領域へのポインタです。

s_len

オブジェクトが格納している文字列長です。

s_res

オブジェクトが文字列を格納するために確保している領域のサイズです。

関数

string(void)

コンストラクタです。

string(
const string& str,
size_t pos = 0,
size_t n = npos)


string(const char* str, size_t n)

string(const char* str)

string(size_t n, char c)

~string()

デストラクタです。

string& operator=(const string& str)

strを代入します。

string& operator=(const char* str)

string& operator=(char c)

cを代入します。

iterator begin()

文字列の先頭ポインタを求めます。

const_iterator begin() const

iterator end()

文字列の最後尾ポインタを求めます。

const_iterator end() const

size_t size() const

格納されている文字列の文字列長を求めます。

size_t length() const

size_t max_size() const

確保している領域のサイズを求めます。

void resize(size_t n, char c)

格納可能な文字列の文字数をnに変更します。

void resize(size_t n)

格納可能な文字列の文字数をnに変更します。

size_t capacity() const

確保している領域のサイズを求めます。

void reserve(size_t res_arg = 0)

領域の再割り当てを行います。

void clear()

格納されている文字列をclearします。

bool empty() const

格納している文字列の文字数が0かチェックします。

const char& operator[](size_t pos) const

s_ptr[pos]を参照します。

char& operator[](size_t pos)

const char& at(size_t pos) const

char& at(size_t pos)

string& operator+=(const string& str)

strの文字列を追加します。

string& operator+=(const char* str)

string& operator+=(char c)

cの文字を追加します。

string& append(const string& str)

strの文字列を追加します。

string& append(const char* str)

関数

string& append(
const string& str,
size_t pos,
size_t n)


オブジェクトの位置posにstrの文字列をn文字分追加します。

string& append(const char* str, size_t n)

文字列strのn文字分を追加します。

string& append(size_t n, char c)

n個の文字cを追加します。

string& assign(const string& str)

strの文字列を代入します。

string& assign(const char* str)

string& assign(
const string& str,
size_t pos,
size_t n)


位置posに文字列str のn文字分を代入します。

string& assign(const char* str, size_t n)

文字列strのn文字分を代入します。

string& assign(size_t n, char c)

n個の文字cを代入します。

string& insert(size_t pos1, const string& str)

位置pos1にstrの文字列を挿入します。

string& insert(
size_t pos1,
const string& str,
size_t pos2,
size_t n)



位置pos1にstrの文字列の位置pos2からn文字分を挿入します。

string& insert(
size_t pos,
const char* str,
size_t n)


posの位置に文字列strをn文字分挿入します。

string& insert(size_t pos, const char* str)

posの位置に文字列strを挿入します。

string& insert(size_t pos, size_t n, char c)

位置posにn個の文字cの文字列を挿入します。

iterator insert(iterator p, char c = char())

pが指す文字列の前に文字cを挿入します。

void insert(iterator p, size_t n, char c)

pが指す文字の前に、n個の文字cを挿入します。

string& erase(size_t pos = 0, size_t n = npos)

位置posからn個分取り除きます。

iterator erase(iterator position)

positionにより参照された文字を取り除きます。

iterator erase(iterator first, iterator last)

範囲[first, last]において文字を取り除きます。

string& replace(
size_t pos1,
size_t n1,
const string& str)


位置pos1からn1文字分の文字列を、strの文字列で置き換えます。

string& replace(
size_t pos1,
size_t n1,
const char* str)


string& replace(
size_t pos1,
size_t n1,
const string& str,
size_t pos2,
size_t n2)




位置pos1からn1文字分の文字列を、strの位置pos2からn2文字分の文字列で置き換えます。

関数

string& replace(
size_t pos,
size_t n1,
const char* str,
size_t n2)



位置posからn1文字分の文字列を、n2個のstrの文字列で置き換えます。

string& replace(
size_t pos,
size_t n1,
size_t n2,
char c)



位置posからn1文字分の文字列を、n2個の文字cで置き換えます。

string& replace(
iterator i1,
iterator i2,
const string& str)


位置i1からi2までの文字列をstrの文字列で置き換えます。

string& replace(
iterator i1,
iterator i2,
const char* str)


string& replace(
iterator i1,
iterator i2,
const char* str,
size_t n)



位置i1からi2までの文字列をstrの文字列のn文字分で置き換えます。

string& replace(
iterator i1,
iterator i2,
size_t n,
char c)



位置i1からi2までの文字列をn個の文字cで置き換えます。

size_t copy(
char* str,
size_t n,
size_t pos = 0) const


位置posに文字列strのn文字分の文字列をコピーします。

void swap(string& str)

strの文字列と交換します。

const char* c_str() const

文字列を格納している領域へのポインタを参照します。

const char* data() const

size_t find(
const string& str,
size_t pos = 0) const

位置pos以降でstrの文字列と同じ文字列が最初に現れる位置を検索します。

size_t find(
const char* str,
size_t pos = 0) const

size_t find(
const char* str,
size_t pos,
size_t n) const


位置pos以降でstrのn文字分と同じ文字列が最初に現れる位置を検索します。

size_t find(char c, size_t pos = 0) const

位置pos以降で文字cが最初に現れる位置を検索します。

size_t rfind(
const string& str,
size_t pos = npos) const

位置pos以前でstrの文字列と同じ文字列が最後に現れる位置を検索します。

関数

size_t rfind(
const char* str,
size_t pos = npos) const

位置pos以前でstrの文字列と同じ文字列が最後に現れる位置を検索します。

size_t rfind(
const char* str,
size_t pos, size_t n) const

位置pos以前でstrのn文字分と同じ文字列が最後に現れる位置を検索します。

size_t rfind(char c, size_t pos = npos) const

位置pos以前で文字cが最後に現れる位置を検索します。

size_t find_first_of(
const string& str,
size_t pos = 0) const

位置pos以降で文字列strに含まれる任意の文字が最初に現れる位置を検索します。

size_t find_first_of(
const char* str,
size_t pos = 0) const

size_t find_first_of(
const char* str,
size_t pos, size_t n) const

位置pos以降で文字列strのn文字分に含まれる任意の文字が最初に現れる位置を検索します。

size_t find_first_of(
char c, size_t pos = 0) const

位置pos以降で文字cが最初に現れる位置を検索します。

size_t find_last_of(
const string& str,
size_t pos = npos) const

位置pos以前で文字列strに含まれる任意の文字が最後に現れる位置を検索します。

size_t find_last_of(
const char* str,
size_t pos = npos) const

size_t find_last_of(
const char* str,
size_t pos,
size_t n) const


位置pos以前で文字列strのn文字分に含まれる任意の文字が最後に現れる位置を検索します。

size_t find_last_of(
char c,
size_t pos = npos) const

位置pos以前で文字cが最後に現れる位置を検索します。

size_t find_first_not_of(
const string& str,
size_t pos = 0) const

位置pos以降でstr中の任意の文字と異なった文字が最初に現れる位置を検索します。

size_t find_first_not_of(
const char* str,
size_t pos = 0) const

size_t find_first_not_of(
const char* str,
size_t pos, size_t n)

位置pos以降でstrの先頭からn文字までの任意の文字と異なった文字が最初に現れる位置を検索します。

size_t find_first_not_of(
char c,
size_t pos = 0) const

位置pos以降で文字cと異なった文字が最初に現れる位置を検索します。

size_t find_last_not_of(
const string& str,
size_t pos = npos) const

位置pos以前でstr中の任意の文字と異なった文字が最後に現れる位置を検索します。

関数

size_t find_last_not_of(
const char* str,
size_t pos = npos) const

 

size_t find_last_not_of(
const char* str,
size_t pos, size_t n) const

位置pos以前でstrの先頭からn文字までの任意の文字と異なった文字が最後に現れる位置を検索します。

size_t find_last_not_of(
char c,
size_t pos = npos) const

位置pos以前で文字cと異なった文字が最後に現れる位置を検索します。

string substr(
size_t pos = 0,
size_t n = npos) const

格納された文字列に対し、範囲[pos,n]の文字列を持つオブジェクトを生成します。

int compare(const string& str) const

文字列とstrの文字列を比較します。

int compare(
size_t pos1,
size_t n1,
const string& str) const


位置pos1からn1文字分の文字列とstrを比較します。

int compare(
size_t pos1,
size_t n1,
const string& str,
size_t pos2,
size_t n2) const




位置pos1からn1文字分の文字列とstrの位置pos2からn2文字分の文字列を比較します。

int compare(const char* str) const

strと比較します。

int compare(
size_t pos1,
size_t n1,
const char* str,
size_t n2 = npos) const



位置pos1からn1文字分の文字列とstrのn2文字分の文字列を比較します。

string::string(void)

以下のように設定します。

s_ptr = 0;

s_len = 0;

s_res = 1;

 

string::string(const string& str, size_t pos = 0, size_t n = npos)

strをコピーします。ただし、s_lenは、nとs_lenの小さい方の値になります。

 

string::string(const char* str, size_t n)

以下に設定します。

s_ptr = str;

s_len = n;

s_res = n+1;

 

string::string(const char* str)

以下に設定します。

s_ptr = str;

s_len = strの文字列長;

s_res = strの文字列長+1;

 

string::string(size_t n, char c)

以下に設定します。

s_ptr = 文字数nで文字cの文字列;

s_len = n;

s_res = n+1;

 

string::~string()

クラスstringのデストラクタです。

文字列を格納している領域を解放します。

 

string& string::operator=(const string& str)

strのデータを代入します。

リターン値は*thisです。

 

string& string::operator=(const char* str)

strからstringオブジェクトを生成し、そのデータを代入します。

リターン値は*thisです。

 

string& string::operator=(char c)

cからstringオブジェクトを生成し、そのデータを代入します。

リターン値は*thisです。

 

string::iterator string::begin()

文字列の先頭ポインタを求めます。

リターン値は、文字列の先頭ポインタです。

 

string::const_iterator string::begin() const

文字列の先頭ポインタを求めます。

リターン値は、文字列の先頭ポインタです。

 

string::iterator string::end()

文字列の最後尾ポインタを求めます。

リターン値は、文字列の最後尾ポインタです。

 

string::const_iterator string::end() const

文字列の最後尾ポインタを求めます。

リターン値は、文字列の最後尾ポインタです。

 

size_t string::size() const

格納されている文字列の文字列長を求めます。

リターン値は、格納されている文字列の文字列長です。

 

size_t string::length() const

格納されている文字列の文字列長を求めます。

リターン値は、格納されている文字列の文字列長です。

 

size_t string::max_size() const

確保している領域のサイズを求めます。

リターン値は、確保している領域のサイズです。

 

void string::resize(size_t n, char c)

オブジェクトが格納可能な文字列の文字数をnに変更します。

n<=size()のとき、長さをnにした元の文字列と置き換えます。

n>size()のとき、元の文字列の後ろに長さnになるまでcをつめた文字列と置き換えます。

n<=max_size()である必要があります。

n>max_size()の場合§n=max_size()として計算します。

 

void string::resize(size_t n)

オブジェクトが格納可能な文字列の文字数をnに変更します。

n<=size()のとき、長さをnにしたもとの文字列と置き換えます。

n<=max_size()である必要があります。

 

size_t string::capacity() const

確保している領域のサイズを求めます。

リターン値は、確保している領域のサイズです。

 

void string::reserve(size_t res_arg = 0)

記憶領域の再割り当てを行います。

reserve()後、capacity()はreserve()の引数より大きいかまたは等しくなります。

再割り当てを行うと、すべての参照、ポインタ、この数列の中の要素の参照するiteratorを無効にします。

 

void string::clear()

格納されている文字列をクリアします。

 

bool string::empty() const

格納している文字列の文字数が0かチェックします。

リターン値は次のとおりです。

格納している文字列長が0の場合 :true

格納している文字列長が0以外の場合 :false

 

const char& string::operator[](size_t pos) const

s_ptr[pos]を参照します。

リターン値は次のとおりです。

n<s_lenの場合 :s_ptr [pos]

n>=s_lenの場合 :'\0'

 

char& string::operator[](size_t pos)

s_ptr[pos]を参照します。

リターン値は次のとおりです。

n<s_lenの場合 :s_ptr [pos]

n>=s_lenの場合 :'\0'

 

const char& string::at(size_t pos) const

s_ptr[pos]を参照します。

リターン値は次のとおりです。

n<s_lenの場合 :s_ptr [pos]

n>=s_lenの場合 :'\0'

 

char& string::at(size_t pos)

s_ptr[pos]を参照します。

リターン値は次のとおりです。

n<s_lenの場合 :s_ptr [pos]

n>=s_lenの場合 :'\0'

 

string& string::operator+=(const string& str)

strが格納している文字列を追加します。

リターン値は*thisです。

 

string& string::operator+=(const char* str)

strからstringオブジェクトを生成し、その文字列を追加します。

リターン値は*thisです。

 

string& string::operator+=(char c)

cからstringオブジェクトを生成し、その文字列を追加します。

リターン値は*thisです。

 

string& string::append(const string& str)

strの文字列をオブジェクトに追加します。

リターン値は*thisです。

 

string& string::append(const char* str)

strの文字列をオブジェクトに追加します。

リターン値は*thisです。

 

string& string::append(const string& str, size_t pos, size_t n)

オブジェクトの位置posにstrの文字列をn文字分追加します。

リターン値は*thisです。

 

string& string::append(const char* str, size_t n)

文字列strのn文字分を追加します。

リターン値は*thisです。

 

string& string::append(size_t n, char c)

n個の文字cを追加します。

リターン値は*thisです。

 

string& string::assign(const string& str)

strの文字列を代入します。

リターン値は*thisです。

 

string& string::assign(const char* str)

strの文字列を代入します。

リターン値は*thisです。

 

string& string::assign(const string& str, size_t pos, size_t n)

位置posに文字列str のn文字分を代入します。

リターン値は*thisです。

 

string& string::assign(const char* str, size_t n)

文字列strのn文字分を代入します。

リターン値は*thisです。

 

string& string::assign(size_t n, char c)

n個の文字cを代入します。

リターン値は*thisです。

 

string& string::insert(size_t pos1, const string& str)

位置pos1にstrの文字列を挿入します。

リターン値は*thisです。

 

string& string::insert(size_t pos1, const string& str, size_t pos2, size_t n)

位置pos1にstrの文字列の位置pos2からn文字分を挿入します。

リターン値は*thisです。

 

string& string::insert(size_t pos, const char* str, size_t n)

posの位置に文字列strをn文字分挿入します。

リターン値は*thisです。

 

string& string::insert(size_t pos, const char* str)

posの位置に文字列strを挿入します。

リターン値は*thisです。

 

string& string::insert(size_t pos, size_t n, char c)

位置posにn個の文字cの文字列を挿入します。

リターン値は*thisです。

 

string::iterator string::insert(iterator p, char c = char())

pが指す文字列の前に、文字cを挿入します。

リターン値は、挿入された文字です。

 

void string::insert(iterator p, size_t n, char c)

pが指す文字の前に、n個の文字cを挿入します。

 

string& string::erase(size_t pos = 0, size_t n = npos)

位置posからn個分取り除きます。

リターン値は*thisです。

 

iterator string::erase(iterator position)

positionにより参照された文字を取り除きます。

リターン値は次のとおりです。

削除要素の次のiteratorがある場合 :削除要素の次のiterator

削除要素の次のiteratorがない場合 :end()

 

iterator string::erase(iterator first, iterator last)

範囲[first, last]において文字を取り除きます。

リターン値は次のとおりです。

lastの次のiteratorがある場合 :lastの次のiterator

lastの次のiteratorがない場合 :end()

 

string& string::replace(size_t pos1, size_t n1, const string& str)

位置pos1からn1文字分の文字列を、strの文字列で置き換えます。

リターン値は*thisです。

 

string& string::replace(size_t pos1, size_t n1, const char* str)

位置pos1からn1文字分の文字列を、strの文字列で置き換えます。

リターン値は*thisです。

 

string& string::replace(size_t pos1, size_t n1, const string& str, size_t pos2, size_t n2)

位置pos1からn1文字分の文字列を、strの位置pos2からn2文字分の文字列で置き換えます。

リターン値は*thisです。

 

string& string::replace(size_t pos, size_t n1, const char* str, size_t n2)

位置posからn1文字分の文字列を、n2個のstrの文字列で置き換えます。

リターン値は*thisです。

 

string& string::replace(size_t pos, size_t n1, size_t n2, char c)

位置posからn1文字分の文字列を、n2個の文字cで置き換えます。

リターン値は*thisです。

 

string& string::replace(iterator i1, iterator i2, const string& str)

位置i1からi2までの文字列をstrの文字列で置き換えます。

リターン値は*thisです。

 

string& string::replace(iterator i1, iterator i2, const char* str)

位置i1からi2までの文字列をstrの文字列で置き換えます。

リターン値は*thisです。

 

string& string::replace(iterator i1, iterator i2, const char* str, size_t n)

位置i1からi2までの文字列を、strのn文字分の文字列で置き換えます。

リターン値は*thisです。

 

string& string::replace(iterator i1, iterator i2, size_t n, char c)

位置i1からi2までの文字列を、n個の文字cで置き換えます。

リターン値は*thisです。

 

size_t string::copy(char* str, size_t n, size_t pos = 0) const

位置posに文字列strのn文字分の文字列をコピーします。

リターン値はrlenです。

 

void string::swap(string& str)

strの文字列と交換します。

 

const char* string::c_str() const

文字列を格納している領域へのポインタを参照します。

リターン値はs_ptrです。

 

const char* string::data() const

文字列を格納している領域へのポインタを参照します。

リターン値はs_ptrです。

 

size_t string::find(const string& str, size_t pos = 0) const

位置pos以降でstrの文字列と同じ文字列が最初に現れる位置を検索します。

リターン値は、文字列のオフセットです。

 

size_t string::find(const char* str, size_t pos = 0) const

位置pos以降でstrの文字列と同じ文字列が最初に現れる位置を検索します。

リターン値は、文字列のオフセットです。

 

size_t string::find(const char* str, size_t pos, size_t n) const

位置pos以降でstrのn文字分と同じ文字列が最初に現れる位置を検索します。

リターン値は、文字列のオフセットです。

 

size_t string::find(char c, size_t pos = 0) const

位置pos以降で文字cが最初に現れる位置を検索します。

リターン値は、文字列のオフセットです。

 

size_t string::rfind(const string& str, size_t pos = npos) const

位置pos以前でstrの文字列と同じ文字列が最後に現れる位置を検索します。

リターン値は、文字列のオフセットです。

 

size_t string::rfind(const char* str, size_t pos = npos) const

位置pos以前でstrの文字列と同じ文字列が最後に現れる位置を検索します。

リターン値は、文字列のオフセットです。

 

size_t string::rfind(const char* str, size_t pos, size_t n) const

位置pos以前で文字列strのn文字分と同じ文字列が最後に現れる位置を検索します。

リターン値は、文字列のオフセットです。

 

size_t string::rfind(char c, size_t pos = npos) const

位置pos以前で文字cが最後に現れる位置を検索します。

リターン値は、文字列のオフセットです。

 

size_t string::find_first_of(const string& str, size_t pos = 0) const

位置pos以降で文字列strに含まれる任意の文字が最初に現れる位置を検索します。

リターン値は、文字列のオフセットです。

 

size_t string::find_first_of(const char* str, size_t pos = 0) const

位置pos以降で文字列strに含まれる任意の文字が最初に現れる位置を検索します。

リターン値は、文字列のオフセットです。

 

size_t string::find_first_of(const char* str, size_t pos, size_t n) const

位置pos以降で文字列strのn文字分に含まれる任意の文字が最初に現れる位置を検索します。

リターン値は、文字列のオフセットです。

 

size_t string::find_first_of(char c, size_t pos = 0) const

位置pos以降で文字cが最初に現れる位置を検索します。

リターン値は、文字列のオフセットです。

 

size_t string::find_last_of(const string& str, size_t pos = npos) const

位置pos以前で文字列strに含まれる任意の文字が最後に現れる位置を検索します。

リターン値は、文字列のオフセットです。

 

size_t string::find_last_of(const char* str, size_t pos = npos) const

位置pos以前で文字列strに含まれる任意の文字が最後に現れる位置を検索します。

リターン値は、文字列のオフセットです。

 

size_t string::find_last_of(const char* str, size_t pos, size_t n) const

位置pos以前で文字列strのn文字分に含まれる任意の文字が最後に現れる位置を検索します。

リターン値は、文字列のオフセットです。

 

size_t string::find_last_of(char c, size_t pos = npos) const

位置pos以前で文字cが最後に現れる位置を検索します。

リターン値は、文字列のオフセットです。

 

size_t string::find_first_not_of(const string& str, size_t pos = 0) const

位置pos以降でstr中の任意の文字と異なった文字が最初に現れる位置を検索します。

リターン値は、文字列のオフセットです。

 

size_t string::find_first_not_of(const char* str, size_t pos = 0) const

位置pos以降でstr中の任意の文字と異なった文字が最初に現れる位置を検索します。

リターン値は、文字列のオフセットです。

 

size_t string::find_first_not_of(const char* str, size_t pos, size_t n) const

位置pos以降でstrの先頭からn文字までの任意の文字と異なった文字が最初に現れる位置を検索します。

リターン値は、文字列のオフセットです。

 

size_t string::find_first_not_of(char c, size_t pos = 0) const

位置pos以降で文字cと異なった文字が最初に現れる位置を検索します。

リターン値は、文字列のオフセットです。

 

size_t string::find_last_not_of(const string& str, size_t pos = npos) const

位置pos以前でstr中の任意の文字と異なった文字が最後に現れる位置を検索します。

リターン値は、文字列のオフセットです。

 

size_t string::find_last_not_of(const char* str, size_t pos = npos) const

位置pos以前でstr中の任意の文字と異なった文字が最後に現れる位置を検索します。

リターン値は、文字列のオフセットです。

 

size_t string::find_last_not_of(const char* str, size_t pos, size_t n) const

位置pos以前でstrの先頭からn文字までの任意の文字と異なった文字が最後に現れる位置を検索します。

リターン値は、文字列のオフセットです。

 

size_t string::find_last_not_of(char c, size_t pos = npos) const

位置pos以前で文字cと異なった文字が最後に現れる位置を検索します。

リターン値は、文字列のオフセットです。

 

string string::substr(size_t pos = 0, size_t n = npos) const

格納された文字列に対し、範囲[pos,n]の文字列を持つオブジェクトを生成します。

リターン値は、範囲[pos,n]の文字列を持つオブジェクトです。

 

int string::compare(const string& str) const

文字列とstrの文字列を比較します。

リターン値は次のとおりです。

文字列が同一の場合 :0

文字列が異なる場合 :this->s_len>str.s_lenのとき1

         this->s_len < str.s_lenのとき-1

 

int string::compare(size_t pos1, size_t n1, const string& str) const

位置pos1からn1文字分の文字列とstrを比較します。

リターン値は次のとおりです。

文字列が同一の場合 :0

文字列が異なる場合 :this->s_len>str.s_lenのとき1

         this->s_len < str.s_lenのとき-1

 

int string::compare(size_t pos1, size_t n1, const string& str, size_t pos2, size_t n2) const

位置pos1からn1文字分の文字列とstrの位置pos2からn2文字分の文字列を比較します。

リターン値は次のとおりです。

文字列が同一の場合 :0

文字列が異なる場合 :this->s_len>str.s_lenのとき1

          this->s_len < str.s_lenのとき-1

 

int string::compare(const char* str) const

strと比較します。

リターン値は次のとおりです。

文字列が同一の場合 :0

文字列が異なる場合 :this->s_len>str.s_lenのとき1

         this->s_len < str.s_lenのとき-1

 

int string::compare(size_t pos1, size_t n1, const char* str, size_t n2 = npos) const

位置pos1からn1文字分の文字列とstrのn2文字分の文字列を比較します。

リターン値は次のとおりです。

文字列が同一の場合 :0

文字列が異なる場合 :this->s_len>str.s_lenのとき1

          this->s_len < str.s_lenのとき-1

(b)

stringクラスマニピュレータ

種別

定義名

説明

関数

string operator+(
const string& lhs,
const string& rhs)

lhsの文字列(または文字)にrhsの文字列(または文字)を追加し、オブジェクトを生成してその文字列を格納します。

string operator+(const char* lhs, const string& rhs)

string operator+(char lhs, const string& rhs)

string operator+(const string& lhs, const char* rhs)

string operator+(const string& lhs, char rhs)

bool operator==(
const string& lhs,
const string& rhs)

lhsの文字列とrhsの文字列を比較します。

bool operator==(const char* lhs, const string& rhs)

bool operator==(const string& lhs, const char* rhs)

bool operator!=(
const string& lhs,
const string& rhs)

lhsの文字列とrhsの文字列を比較します。

bool operator!=(const char* lhs, const string& rhs)

bool operator!=(const string& lhs, const char* rhs)

bool operator<(const string& lhs, const string& rhs)

lhsの文字列長とrhsの文字列長を比較します。

bool operator<(const char* lhs, const string& rhs)

bool operator<(const string& lhs, const char* rhs)

bool operator>(const string& lhs, const string& rhs)

lhsの文字列長とrhsの文字列長を比較します。

bool operator>(const char* lhs, const string& rhs)

bool operator>(const string& lhs, const char* rhs)

bool operator<=(
const string& lhs,
const string& rhs)

lhsの文字列長とrhsの文字列長を比較します。

bool operator<=(const char* lhs, const string& rhs)

bool operator<=(const string& lhs, const char* rhs)

bool operator>=(
const string& lhs,
const string& rhs)

lhsの文字列長とrhsの文字列長を比較します。

bool operator>=(const char* lhs, const string& rhs)

bool operator>=(const string& lhs, const char* rhs)

void swap(string& lhs, string& rhs)

lhsの文字列とrhsの文字列を交換します。

istream& operator>>(istream& is, string& str)

文字列をstrに抽出します。

ostream& operator<<(
ostream& os,
const string& str)

文字列を挿入します。

関数

istream& getline(
istream& is,
string& str,
char delim)


isから文字列を抽出し、strに付加します。途中で文字'delim'を検出したら、入力を終了します。

istream& getline(istream& is, string& str)

isから文字列を抽出し、strに付加します。途中で改行文字を検出したら、入力を終了します。

string operator+(const string& lhs, const string& rhs)

lhsの文字列(または文字)にrhsの文字列(または文字)を追加し、オブジェクトを生成してその文字列を格納します。

リターン値は、結合した文字列を格納するオブジェクトです。

 

string operator+(const char* lhs, const string& rhs)

lhsの文字列(または文字)にrhsの文字列(または文字)を追加し、オブジェクトを生成してその文字列を格納します。

リターン値は、結合した文字列を格納するオブジェクトです。

 

string operator+(char lhs, const string& rhs)

lhsの文字列(または文字)にrhsの文字列(または文字)を追加し、オブジェクトを生成してその文字列を格納します。

リターン値は、結合した文字列を格納するオブジェクトです。

 

string operator+(const string& lhs, const char* rhs)

lhsの文字列(または文字)にrhsの文字列(または文字)を追加し、オブジェクトを生成してその文字列を格納します。

リターン値は、結合した文字列を格納するオブジェクトです。

 

string operator+(const string& lhs, char rhs)

lhsの文字列(または文字)にrhsの文字列(または文字)を追加し、オブジェクトを生成してその文字列を格納します。

リターン値は、結合した文字列を格納するオブジェクトです。

 

bool operator==(const string& lhs, const string& rhs)

lhsの文字列とrhsの文字列を比較します。

リターン値は次のとおりです。

文字列が同一の場合 :true

文字列が異なる場合 :false

 

bool operator==(const char* lhs, const string& rhs)

lhsの文字列とrhsの文字列を比較します。

リターン値は次のとおりです。

文字列が同一の場合 :false

文字列が異なる場合 :true

 

bool operator==(const string& lhs, const char* rhs)

lhsの文字列とrhsの文字列を比較します。

リターン値は次のとおりです。

文字列が同一の場合 :false

文字列が異なる場合 :true

 

bool operator<(const string& lhs, const string& rhs)

lhsの文字列長とrhsの文字列長を比較します。

リターン値は次のとおりです。

lhs.s_len < rhs.s_lenの場合 :true

lhs.s_len >= rhs.s_lenの場合 :false

 

bool operator<(const char* lhs, const string& rhs)

lhsの文字列長とrhsの文字列長を比較します。

リターン値は次のとおりです。

lhs.s_len < rhs.s_lenの場合 :true

lhs.s_len >= rhs.s_lenの場合 :false

 

bool operator<(const string& lhs, const char* rhs)

lhsの文字列長とrhsの文字列長を比較します。

リターン値は次のとおりです。

lhs.s_len < rhs.s_lenの場合 :true

lhs.s_len >= rhs.s_lenの場合 :false

 

bool operator>(const string& lhs, const string& rhs)

lhsの文字列長とrhsの文字列長を比較します。

リターン値は次のとおりです。

lhs.s_len > rhs.s_lenの場合 :true

lhs.s_len <= rhs.s_lenの場合 :false

 

bool operator>(const char* lhs, const string& rhs)

lhsの文字列長とrhsの文字列長を比較します。

リターン値は次のとおりです。

lhs.s_len > rhs.s_lenの場合 :true

lhs.s_len <= rhs.s_lenの場合 :false

 

lhsの文字列長とrhsの文字列長を比較します。

リターン値は次のとおりです。

lhs.s_len > rhs.s_lenの場合 :true

lhs.s_len <= rhs.s_lenの場合 :false

 

bool operator<=(const string& lhs, const string& rhs)

lhsの文字列長とrhsの文字列長を比較します。

リターン値は次のとおりです。

lhs.s_len <= rhs.s_lenの場合 :true

lhs.s_len > rhs.s_lenの場合 :false

 

bool operator<=(const char* lhs, const string& rhs)

lhsの文字列長とrhsの文字列長を比較します。

リターン値は次のとおりです。

lhs.s_len <= rhs.s_lenの場合 :true

lhs.s_len > rhs.s_lenの場合 :false

 

bool operator<=(const string& lhs, const char* rhs)

lhsの文字列長とrhsの文字列長を比較します。

リターン値は次のとおりです。

lhs.s_len <= rhs.s_lenの場合 :true

lhs.s_len > rhs.s_lenの場合 :false

 

bool operator>=(const string& lhs, const string& rhs)

lhsの文字列長とrhsの文字列長を比較します。

リターン値は次のとおりです。

lhs.s_len >= rhs.s_lenの場合 :true

lhs.s_len < rhs.s_lenの場合 :false

 

bool operator>=(const char* lhs, const string& rhs)

lhsの文字列長とrhsの文字列長を比較します。

リターン値は次のとおりです。

lhs.s_len >= rhs.s_lenの場合 :true

lhs.s_len < rhs.s_lenの場合 :false

 

bool operator>=(const string& lhs, const char* rhs)

lhsの文字列長とrhsの文字列長を比較します。

リターン値は次のとおりです。

lhs.s_len >= rhs.s_lenの場合 :true

lhs.s_len < rhs.s_lenの場合 :false

 

void swap(string& lhs, string& rhs)

lhsの文字列とrhsの文字列を交換します。

 

istream& operator>>(istream& is, string& str)

文字列をstrに抽出します。

リターン値はisです。

 

ostream& operator<<(ostream& os, const string& str)

文字列を挿入します。

リターン値はosです。

 

istream& getline(istream& is, string& str, char delim)

isから文字列を抽出し、strに付加します。

途中で文字'delim'を検出したら、入力を終了します。

リターン値はisです。

 

istream& getline(istream& is, string& str)

isから文字列を抽出し、strに付加します。

途中で改行文字を検出したら、入力を終了します。

リターン値はisです。