C++ の <string> ヘッダー ファイルと <cstring> ヘッダー ファイルの概要
C++ では、<string> と <cstring> は 2 つの異なるヘッダー ファイルです。
<string>は、C++ 標準ライブラリのヘッダー ファイルです。これは、size()、length()、empty()、文字列の連結 (スプライシング) などの文字列に対する操作を提供する std::string という名前のクラスを定義します。 、交換など。このヘッダー ファイルには主に std::string クラスが含まれています。
次のコードは、<string> ヘッダー ファイルの string クラスを使用して文字列オブジェクトを作成し、size() 関数を使用して文字列の長さを取得します。
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "Hello, world!";
int len = str.size();
cout << "字符串的长度为: " << len << endl;
return 0;
}
<cstring>このヘッダー ファイルは、C 言語の <string.h> ヘッダー ファイルの C++ バージョンです。主に、C スタイルの文字列 (つまり、ヌル文字 '\0 で終わる文字配列) を操作するためのいくつかの関数とツールを提供します。 ')。たとえば、strcpy、strlen、strcat、strcmp およびその他の関数は、このヘッダー ファイルで宣言されます。
次のコードは、<cstring> ヘッダー ファイルの strcpy() 関数を使用して、ある文字列を別の文字列にコピーします。
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str1[] = "Hello";
char str2[10];
strcpy(str2, str1);
cout << "复制的字符串是: " << str2 << endl;
return 0;
}
どちらも文字列操作を提供しますが、その実装と使用法は異なります。実際の C++ プログラミングでは、より安全で使いやすい関数を提供するため、<string> ヘッダー ファイルで文字列クラスを使用することをお勧めします。ただし、C ライブラリとの互換性が必要な場合や、パフォーマンスを最適化する必要がある場合には、<cstring> の方が適切な場合があります。