// <string> で文字列比較が演算子 == で本当にできるのかを確認 // char * 型が混在しても OK ? #include <iostream> #include <string> using namespace std; int main( ) { string szA = "hogehoge"; string szB = "hagehage"; string szC = "hogehoge"; char cC[] = "hogehoge"; if ( szA == szB ) { cout << szA << " EQ " << szB << endl; } else { cout << szA << " NOT EQ " << szB << endl; } if ( szA == szC ) { cout << szA << " EQ " << szC << endl; } else { cout << szA << " NOT EQ " << szC << endl; } // string型と char * 型でも OK // string型への promotion が行われる if ( szA == cC ) { cout << szA << " EQ " << cC << endl; } else { cout << szA << " NOT EQ " << cC << endl; } return 0; } /* OK です。 ですから string.compare( ) をわざわざ利用しなくてもいいです。 しかも char *型が混在してても OK です。 当然、char *型同士でもダメです。 全て、STLのヘッダファイルを見れば分かることです。はい。 */ // end of file