Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Lenguaje C

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

¿Qué es una cadena?

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

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

En este tutorial de C++, aprenderá:

Declaración de cadenas

C++ admite dos tipos de declaraciones de cadenas:

Cadena de caracteres 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 que termina con un carácter nulo (\0). Una cadena terminada en nulo tiene caracteres que componen la cadena seguida de 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 contener 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<string>

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

string name = "John";

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

Acceso a valores de cadena

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

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

Salida:

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

Explicación del código:

  1. Incluyendo el archivo de encabezado iostream en nuestro código. Nos permitirá leer y escribir en la consola.
  2. Incluyendo el espacio de nombres estándar para usar sus clases y funciones sin llamarlo.
  3. Llamar 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 name. La cadena almacenará el valor John. El espacio adicional almacenará el carácter nulo.
  5. Imprimiendo algo de texto en la consola.
  6. Imprimiendo el valor de la cadena llamada nombre en la consola.
  7. La función main() debería devolver un valor si el programa funciona correctamente.
  8. Fin del cuerpo de la función main().

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

#include <iostream>
#include <string>
using namespace std;
int main() {

	string name = "Guru99";
	
	cout << "The name is : " << name << endl;

	return 0;
}

Salida:

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

Explicación del código:

  1. Incluyendo el archivo de encabezado 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 estándar para usar sus clases y funciones sin llamarlo.
  4. Llamar 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 name. 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 cadenas:

A menudo querrá manipular cadenas. C ++ proporciona una amplia gama de funciones que puede usar para esto. Estas funciones están definidas en la clase CString, por lo tanto, debemos incluirlas en nuestro código para usar las funciones. Discutamos 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 cadena1 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, string1 y string2 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 cadena. Devuelve la longitud de la cadena que se le pasa 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 la comparación de cadenas.

Sintaxis:

strcmp(string1, string2);

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

Ejemplo:

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

#include <iostream>
#include <cstring>
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;
}

Salida:

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

Explicación del código:

  1. Incluyendo el archivo de encabezado 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 estándar para usar sus clases y funciones sin llamarlo.
  4. Llamar 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 nombre1. 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 llamada len.
  9. Copiando la cadena nombre1 en la cadena nombre3.
  10. Imprimiendo el valor de la cadena name1 junto con algún texto en la consola. Debería imprimir Guru99.
  11. Concatenar las cadenas nombre2 al final de la cadena nombre1. El valor de name1 ahora es Guru99John.
  12. Imprimiendo 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 nombre1 y asignar el valor de longitud a la variable len.
  14. Imprimir el valor de la variable len junto con 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


Lenguaje C

  1. Cadenas Java
  2. Cadenas de enumeración de Java
  3. Variables y tipos de C++:int, double, char, string, bool
  4. Matrices en C++ | Declarar | Inicializar | Ejemplos de puntero a matriz
  5. C++ do...while bucle con ejemplos
  6. Punteros de C++ con ejemplos
  7. Tipo de datos Char de C++ con ejemplos
  8. Sobrecarga de operadores de C++ con ejemplos
  9. Funciones de C++ con ejemplos de programas
  10. Cadenas en C:cómo declarar variable, inicializar, imprimir, ejemplo
  11. Método Java String indexOf() con subcadena y ejemplos