[C++] 研究ノート (4)----文字列コンテナ

文字列コンテナ


容器: string
ヘッドファイル: #include<string>

string は本質的に class 内にカプセル化されたクラスでありchar*、すべての文字列はchar*型のコンテナーです。

文字列コンストラクタ

コンストラクターのプロトタイプ

  • string();// 次のような空の文字列を作成します: string str (パラメーター コンストラクターなし)

    string(const char* s);//文字列 s で初期化 (パラメーター付きコンストラクター)

  • string(const string& str);//文字列オブジェクトを使用して別の文字列オブジェクトを初期化します (コピー コンストラクター)

  • string(int n,char c);//n 文字で初期化 c (パラメータ付きコンストラクタ)

文字列代入演算

割り当ての関数プロトタイプ:

  • string& operator = (const char* s); //char * タイプ文字列が現在の文字列に割り当てられます

  • string& operator = (const string &s);//文字列 s を現在の文字列に割り当てます

  • string& operator = (char c);//現在の文字列への文字割り当て

  • string& assign(const char *s);//文字列 s を現在の文字列に割り当てます

  • string& assign(const char *s, int n);//文字列 s の最初の n 文字を現在の文字列に割り当てます

  • string& assign(const string &s);//文字列 s を現在の文字列に割り当てます

  • string& assign(int n, char c);// 現在の文字列に n 文字 c を割り当てます

ストリングスプライシング

関数プロトタイプ

  • string& operator+=(const char* str);// オーバーロード += 演算子

  • string& operator+=(const char c);// オーバーロード += 演算子

  • string& operator+=(const string& str);// オーバーロード += 演算子

  • string& append(const char* s);// 文字列 s を現在の文字列の末尾に接続します

  • string& append(const char* str, int n);//同演算子+=(const string& str)

  • string& append(const string& s);//同演算子+=(const string& str)

  • string& append(const string& s, int pos, int n);//文字列 s の pos から始まる n 文字が文字列の末尾に接続されます

文字列の検索と置換

関数プロトタイプ

  • int find(const string& str, int pos = 0) const;// pos から始まる str の最初のオカレンスを検索します
  • int find(const char* s, int pos = 0) const;// pos から始めて、s の最初のオカレンスを検索します
  • int find(const char* s, int pos, int n) const;//pos 位置から s の最初の n 文字の最初の位置を見つける
  • int find(const char c, int pos = 0) const;//最初に出現する文字 c を見つける
  • int rfind(const string& str, int pos = npos) const;// pos から始まる str の最後の位置を見つける
  • int rfind(const char* s, int pos = posn) const;// pos から始まる s の最後のオカレンスを検索します
  • int rfind(const char* s, int pos, int n) const;//pos から s の最初の n 文字の最後の位置を見つける
  • int rfind(const char c,int pos = 0) const;//文字 c の最後のオカレンスを見つける
  • string& replace(int pos, int n, const string& str);// pos から始まる n 文字を文字列 str に置き換えます
  • string& replace(int pos, int n, const char* s);// pos から始まる n 文字を文字列 s に置き換えます

文字列比較

  • 文字列比較は文字ごとに ASCII です

=0 を返す
>1 を
<返す -1 を返す

関数プロトタイプ

  • int compare(const string &s) const;// 文字列 s と比較
  • int compare(const char *s) const;// 文字列 s と比較

文字列へのアクセス

文字列内の 1 文字にアクセスするには 2 つの方法があります

  • char& operator[](int n);//[]で文字を取得
  • char& at(int n);//atメソッドで文字を取得

文字列の挿入と削除

関数プロトタイプ

  • string& insert(int pos, const char* s);//文字列を挿入
  • string& insert(int pos, const string& str);//文字列を挿入
  • string& insert(int pos, int n, char c);// 指定位置に n 文字 c を挿入
  • string& erase(int pos, int n = npos);//posからn文字削除

文字列部分文字列

機能説明

  • 文字列から目的の部分文字列を取得する

関数プロトタイプ

  • string substr(int pos = 0, int n = npos) const;//pos から n 文字の文字列を返す

おすすめ

転載: blog.csdn.net/weixin_50202509/article/details/120981083