c++string注意事項

872 ワード

#include
#include 
using namespace std;

int main()
{
    string str({ 65,'B','\0','D','E' });
    string str1({ 97,'b','c','\0','e','f' });
    char str2[] = { '1','2','\0','3','4' };
    cout << str + str2 + str1 << ",   :" << (str + str2 + str1).length() << "
"; string str3 = (str + str2 + str1).c_str(); cout << str3 << ", :" << str3.length() << "
"; }

実行結果:
AB DE12abc ef,   :13
AB,   :2

注意:
stringクラスの変数には'0'が含まれることができる.この変数のlength()は長さであり、'0'で終わるのではなく、その変数の長さを判断するからである.C言語タイプの文字列構造のみが'0'で終わります.たとえば、char*またはchar[]で定義された文字配列です.