文字列 string


戻る


概要


stringは文字列を操作しやすくするライブラリです。

入力の受け取り方



 string s;//sに入力を受け取る
 cin >> s;//sに入力を入れる

出力



 string s = "hogehoge";//sは出力したい文字列
 cout << s;//sが出力される。

基本的な使い方


配列と同じように、stringの$i$番目の文字は[$i-1$]に入っています。

また、+演算子や>などの比較演算子も普通と同じように使えます。


 string s = "abc";
 cout << s[1] << endl;//"b"が出力される。
 s += "def";//s="abcdef"となった。
 cout << s[5] << endl;//"f"が出力される。
 if(s == "abcdef"){
   //sは"abcdef"なのでこちらに分岐する。
   cout << "YES" << endl;
 }

便利な関数


  • length()で文字列の長さを求める
    
    string s = "abc";
    cout << s.length() << endl;//sの長さ"3"が出力される。
    cout << s.size() << endl;//size()でも同じ事ができます。
    
  • insert()とerase()で文字を挿入・削除する

    
    string s = "abc";
    s.insert(s.begin()+2,'-');//s[2]の前に"-"を挿入する。この時s="ab-c"となっている。
    s.erase(s.begin()+1);//s[1]を消去する。この時s="a-c"となっている。
    //どちらも計算量はO(s.length())となっている。
    
  • to_string()とstoi()で数値と文字列の相互変換

    
    int a = 200;
    string s = to_string(a);//sには"200"が入る。
    a = stoi("400");//aには400が入る。
    s = a;//このように書いてはならない。プログラムが異常終了する。
    a = stoll("100000000000000");//long long型にはstoll()を使う。桁あふれが発生した時にはプログラムが異常終了する事に気を付ける。
    
  • reverse()で文字列を逆順にする
    
    string s = "abcd";
    reverse(s.begin(),s.end());//sが逆順になる。s="dcba"となる。
    

戻る