C++ 文字列


C++ は、次の 2 種類の文字列表現を提供します:

  • C スタイルの文字列

  • C++ によって導入された文字列クラス型

C スタイルの文字列

C スタイルの文字列 C 言語で発生し、は C++ で引き続きサポートされます。この文字列は実際には null 文字を使用しています '

次の例では、上記の関数の一部を使用しています:

char greeting[6] = {'H', 'e', 'l', 'l', 'o', '
char greeting[] = "Hello";
'};

上記のコードをコンパイルして実行すると、次の結果が生成されます:

#include <iostream>

using namespace std;

int main ()
{
   char greeting[6] = {'H', 'e', 'l', 'l', 'o', '
Greeting message: Hello
'};    cout << "Greeting message: ";    cout << greeting << endl;    return 0; }

C++ の String クラス

C++ 標準ライブラリは、string クラス タイプを提供します。 、上記のすべての操作をサポートし、さらに他の機能も追加します。 C++ 標準ライブラリでこのクラスを学習します。次に、次の例を見てみましょう:

ここまでクラスとオブジェクトについて説明していないため、この例を完全には理解できないかもしれません。したがって、この例をざっと見て、後でオブジェクト指向の概念を理解したときに戻ってくることができます。

#include <iostream>
#include <cstring>

using namespace std;

int main ()
{
   char str1[10] = "Hello";
   char str2[10] = "World";
   char str3[10];
   int  len ;

   // 复制 str1 到 str3
   strcpy( str3, str1);
   cout << "strcpy( str3, str1) : " << str3 << endl;

   // 连接 str1 和 str2
   strcat( str1, str2);
   cout << "strcat( str1, str2): " << str1 << endl;

   // 连接后,str1 的总长度
   len = strlen(str1);
   cout << "strlen(str1) : " << len << endl;

   return 0;
}

上記のコードをコンパイルして実行すると、次の結果が生成されます:

strcpy( str3, str1) : Hello
strcat( str1, str2): HelloWorld
strlen(str1) : 10