Introducción a los archivos de encabezado <string> y los archivos de encabezado <cstring> en C++
En C++, <string> y <cstring> son dos archivos de encabezado diferentes.
<string> es un archivo de encabezado en la biblioteca estándar de C++. Define una clase llamada std::string, que proporciona operaciones en cadenas como tamaño(), longitud(), vacío() y concatenación de cadenas (empalme). , reemplazar, etc. Este archivo de encabezado contiene principalmente la clase std::string.
El siguiente código usa la clase de cadena en el archivo de encabezado <cadena> para crear un objeto de cadena y usa la función size() para obtener la longitud de la cadena:
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "Hello, world!";
int len = str.size();
cout << "字符串的长度为: " << len << endl;
return 0;
}
<cstring> Este archivo de encabezado es la versión C++ del archivo de encabezado <string.h> en lenguaje C. Proporciona principalmente algunas funciones y herramientas para operar cadenas de estilo C (es decir, matrices de caracteres terminadas en el carácter nulo '\0 '). Por ejemplo, strcpy, strlen, strcat, strcmp y otras funciones se declaran en este archivo de encabezado.
El siguiente código utiliza la función strcpy() en el archivo de encabezado <cstring> para copiar una cadena a otra:
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str1[] = "Hello";
char str2[10];
strcpy(str2, str1);
cout << "复制的字符串是: " << str2 << endl;
return 0;
}
Aunque ambos proporcionan operaciones de cadenas, su implementación y uso son diferentes. En la programación real de C++, se recomienda utilizar las clases de cadena en el archivo de encabezado <cadena> porque proporcionan funciones más seguras y fáciles de usar. Sin embargo, en algunos casos donde se requiere compatibilidad con bibliotecas C o se necesita optimizar el rendimiento, <cstring> puede ser más apropiado.