Cadenas de C ++: strcpy (), strcat (), strlen (), strcmp () EJEMPLOS

Tabla de contenido:

Anonim

¿Qué es una cuerda?

Una cadena es una secuencia de caracteres. Una cadena de C ++ es un objeto de la clase std :: string. Los caracteres son secuencias de bytes almacenadas con acceso a un solo byte de carácter permitido.

Las cadenas de C ++ asignan memoria de forma dinámica. Se puede asignar más memoria a la cadena durante el tiempo de ejecución si es necesario. Dado que no hay preasignación de memoria, no hay desperdicio de memoria. Podemos realizar diversas operaciones sobre cadenas, incluidas comparaciones, concatenación, conversión, etc.

En este tutorial de C ++, aprenderá:

  • ¿Qué es una cuerda?
  • Declarar cadenas
    • Cadena de caracteres de estilo C
    • std :: cadena
  • Accediendo a valores de cadena
  • Funciones de cadena:
    • strcpy ()
    • strcat ()
    • strlen ()
    • strcmp ()
    • Ejemplo:

Declarar cadenas

C ++ admite dos tipos de declaraciones de cadenas:

  • Cadena de caracteres de estilo C
  • Tipo de clase de cadena

Cadena de caracteres de estilo C

Este tipo de declaración de cadena se introdujo en el lenguaje de programación C. C ++ continúa apoyándolo. Es simplemente una matriz unidimensional de caracteres terminados con un carácter nulo (\ 0). Una cadena terminada en nulo tiene caracteres que forman la cadena y luego siguen un nulo.

Considere la declaración de cadena dada a continuación:

char name[5] = {'J', 'o', 'h', 'n', '\0'};

La declaración anterior crea una cadena que forma la palabra John. La palabra tiene 4 caracteres, pero la cadena tiene un tamaño de 5. El espacio adicional permite mantener el carácter nulo.

Usando la regla de inicialización de matriz, podemos escribir la declaración anterior de la siguiente manera:

char name[] = "John";

Tenga en cuenta que no tiene que colocar el carácter nulo al final de la constante de cadena. El compilador de C ++ colocará automáticamente el '\ 0' al final de la cadena al inicializar la matriz.

std :: cadena

La biblioteca estándar de C ++ proporciona la clase de cadena que admite varias operaciones de cadena. Está escrito como std :: string.

Para usar esta clase, primero debemos incluirla en nuestro espacio de trabajo usando el preprocesador #include como se muestra a continuación:

#include

A continuación, podemos declarar nuestra cadena usando la palabra clave string. Por ejemplo:

string name = "John";

La declaración anterior creará una cadena llamada name para contener el valor John.

Accediendo a valores de cadena

En C ++, podemos acceder a los valores de la cadena usando el nombre de la cadena. Por ejemplo:

#include using namespace std;int main() {char name[5] = { 'J', 'o', 'h', 'n', '\0' };cout << "String value is: ";cout << name << endl;return 0;}

Producción:

Aquí hay una captura de pantalla del código:

Explicación del código:

  1. Incluyendo el archivo de encabezado de iostream en nuestro código. Nos permitirá leer y escribir en la consola.
  2. Incluyendo el espacio de nombres std para usar sus clases y funciones sin llamarlo.
  3. Llamando a la función main () dentro de la cual se debe agregar la lógica del programa. El {marca el inicio del cuerpo de la función main ().
  4. Declarar una cadena de caracteres y darle el nombre. La cadena almacenará el valor John. El espacio adicional almacenará el carácter nulo.
  5. Imprimiendo texto en la consola.
  6. Imprimiendo el valor de la cadena nombrada name en la consola.
  7. La función main () debería devolver un valor si el programa funciona bien.
  8. Fin del cuerpo de la función main ().

Aquí hay otro ejemplo que usa la clase de cadena estándar de C ++:

#include #include using namespace std;int main() {string name = "Guru99";cout << "The name is : " << name << endl;return 0;}

Producción:

Aquí hay una captura de pantalla del código:

Explicación del código:

  1. Incluyendo el archivo de encabezado de iostream en nuestro código. Nos permitirá leer y escribir en la consola.
  2. Incluyendo la clase de cadena estándar en nuestro código.
  3. Incluyendo el espacio de nombres std para usar sus clases y funciones sin llamarlo.
  4. Llamando a la función main () dentro de la cual se debe agregar la lógica del programa. El {marca el inicio del cuerpo de la función main ().
  5. Declarar una cadena y darle el nombre. La cadena almacenará el valor Guru99.
  6. Imprimir el valor del nombre de la cadena junto con algún texto en la consola.
  7. La función main () debería devolver un valor si el programa funciona bien.
  8. Fin del cuerpo de la función main ().

Funciones de cadena:

A menudo querrás manipular cadenas. C ++ proporciona una amplia gama de funciones que puede utilizar para ello. Estas funciones están definidas en la clase CString, por lo tanto, tenemos que incluirlas en nuestro código para poder usar las funciones. Analicemos algunos:

strcpy ()

Esta es la función de copia de cadena. Copia una cadena en otra cadena.

Sintaxis:

strcpy(string1, string2);

Los dos parámetros de la función, cadena1 y cadena2, son cadenas. La función copiará la cadena string1 en la cadena 1.

strcat ()

Esta es la función de concatenación de cadenas. Concatena cadenas.

Sintaxis:

strcat(string1, string2);

Los dos parámetros de la función, cadena1 y cadena2 son las cadenas que se concatenarán. La función anterior concatenará la cadena string2 al final de la cadena string1.

strlen ()

Esta es la función de longitud de la cadena. Devuelve la longitud de la cadena que se le pasó como argumento.

Sintaxis:

strnlen(string1)

El parámetro cadena1 es el nombre de la cadena cuya longitud se va a determinar. La función anterior devolverá la longitud de la cadena string1.

strcmp ()

Esta es la función de comparación de cadenas. Se utiliza para comparar cadenas.

Sintaxis:

strcmp(string1, string2);

La función anterior devolverá 0 si las cadenas cadena1 y cadena2 son similares, menor que 0 si cadena1 cadena2.

Ejemplo:

El siguiente ejemplo demuestra cómo utilizar las funciones de cadena anteriores:

#include #include using namespace std;int main() {char name1[10] = "Guru99";char name2[10] = "John";char name3[10];int len;strcpy(name3, name1);cout << "strcpy( name3, name1) : " << name3 << endl;strcat(name1, name2);cout << "strcat( name1, name2): " << name1 << endl;len = strlen(name1);cout << "strlen(name1) : " << len << endl;return 0;}

Producción:

Aquí hay una captura de pantalla del código:

Explicación del código:

  1. Incluyendo el archivo de encabezado de iostream en nuestro código. Nos permitirá leer y escribir en la consola.
  2. Incluyendo la clase CString estándar en nuestro código.
  3. Incluyendo el espacio de nombres std para usar sus clases y funciones sin llamarlo.
  4. Llamando a la función main () dentro de la cual se debe agregar la lógica del programa. El {marca el inicio del cuerpo de la función main ().
  5. Declarar una cadena de 10 caracteres y darle el nombre name1. La cadena almacenará el valor Guru99.
  6. Declarar una cadena de 10 caracteres y darle el nombre name2. La cadena almacenará el valor John.
  7. Declarar una cadena de 10 caracteres y darle el nombre name3.
  8. Declarar una variable entera denominada len.
  9. Copiando la cadena name1 en la cadena name3.
  10. Imprimiendo el valor de la cadena name1 junto con algún texto en la consola. Debería imprimir Guru99.
  11. Concatenando las cadenas name2 al final de la cadena name1. El valor de name1 ahora es Guru99John.
  12. Imprimir el valor de la cadena name1 junto con algún texto en la consola. Debería imprimir Guru99John
  13. Determinar la longitud de la cadena denominada name1 y asignar el valor de longitud a la variable len.
  14. Imprimiendo el valor de la variable len junto con algún otro texto en la consola.
  15. La función main () debería devolver un valor si el programa funciona bien.
  16. Fin del cuerpo de la función main ().

Resumen

  • Una cadena es una secuencia de caracteres.
  • Las cadenas pertenecen a la clase de cadenas estándar en C ++.
  • Podemos declarar cadenas usando la cadena de caracteres de estilo C o la clase de cadena estándar.
  • La función strcpy () copia una cadena en otra.
  • La función strcat () concatena dos funciones.
  • La función strlen () devuelve la longitud de una función.
  • La función strcmp () compara dos cadenas.