第62章 stringクラスを使う


標準ライブラリではstringクラスという便利なクラスを使うことができます。 このクラスを使うにはstringをインクルードする必要があります。



stringクラスを使うと文字列をかなり直感的に扱うことができます。 代入は「=」、文字列の連結は「+」演算子で実現できます。

// string01.cpp

#include <iostream>
#include <string>
using namespace std;

int main()
{
    string s, t, u;
    
    s = "粂井";
    t = "康孝";
    u = s + t;

    cout << u << endl;
    return 0;
}
実行結果は左の図のようになります。文字列が連結されているのが わかります。



文字列ばかりでなく、文字も連結することができます。

string s = "ABC";
cout << s + 'D' << endl;
というようなこともできます。

また、

string s = "BCD", t;
t = 'A' + s;
というように「文字」+「stringオブジェクト」も可能です。では、 次の演算はどうでしょうか。
string s, t;
s = "CDE";
t = 'A' + 'B' + s;
これは、だめですね。しかし、次のようにすると可能です。
string s, t;
s = "CDE";
t = 'A' + ('B' + s);
次に文字列の比較に「==」演算子が使えます。
// string02.cpp

#include <iostream>
#include <string>

using namespace std;

int main()
{
    string password;

    cout << "パスワード:";
    cin >> password;

    if (password == "ABC")
        cout << "OK!" << endl;
    else
        cout << "NO!" << endl;

    return 0;
}
当然ですが、strcmp関数でstringオブジェクトと文字列の比較は行えません。 また、strcat関数でstringオブジェクトと文字列の連結は行えません。

その他stringオブジェクトについては「!=」「>」「<」「>=」「<=」「+=」などの 演算子が使えます。いろいろ実験してみてください。


[C++Index] [総合Index] [Previous Chapter] [Next Chapter]

Update Jun/28/2002 By Y.Kumei
当ホーム・ページの一部または全部を無断で複写、複製、 転載あるいはコンピュータ等のファイルに保存することを禁じます。