Función de cadena C ++

Función de cadena C ++
Una cadena se clasifica como un tipo de datos y generalmente se representa como una matriz de estructuras de datos de bytes o caracteres que están destinados a registrar varios elementos, generalmente caracteres. Conceptualmente, es idéntico a la matriz de personajes del lenguaje C. Sin embargo, en C ++, hay una clase específica con varios atributos y métodos útiles que permite un manejo mayor y más completo de la estructura de datos de cadena que es posible con las matrices de caracteres. La asignación de memoria dinámica se usa para cadenas. Esto implica que se ahorra al tener que inicializar su objeto con un tamaño predeterminado que no puede cambiar durante la duración de todo el código.

Para usar funciones de cadena en C ++, primero debemos incluir la biblioteca que contiene funciones de cadena. El objeto de cadena es capaz de una variedad de comportamientos y varias acciones. Una variedad de funciones de cadena; incluyendo strcat, strlen, strcmp, strcpy, swap y muchos más son proporcionados por la "cadena.biblioteca h ”en c++.

Métodos utilizados en las funciones de cadena

En C ++, las siguientes funciones de cadena se utilizan para permitirle obtener fácilmente la ejecución deseada.

strcpy (var1, var2);
Es la función utilizada para copiar una cadena de la variable a otra cadena. En otras palabras, podemos decir que el var1 el valor se asignará al var2.

strcat (var1, var2);
strcat es responsable de fusionar dos variables. Por ejemplo, si var1 contiene el valor Mi y var2 contiene artículo entonces el valor resultante de STRCAT (VAR1, VAR2); será Mi articulo.

strlen (var1);
Esta función se usa para contar las palabras de la cadena que se le pasa. Como resultado, devolverá la longitud de la cadena.

strcmp (var1, var2);
STRCMP se usa para comparar dos cadenas y devolverá un valor 0 Si la cadena var1 y var2 son lo mismo; Devuelve menos de 0 es var1 es mayor que var2 y volverá más grande que 0 es el var1 es menos que var2.

strchr (var1, r);
strchr se usa para buscar cualquier personaje en una cadena. En la inicialización anterior, utilizamos una función strchr. Si queremos buscar el personaje en una cadena, var1 es la variable que contiene una cadena Mi articulo. En esta cadena, queremos buscar un personaje riñonal devolverá un puntero cuando la carta riñonal ocurrirá por primero.

strstr (var1, var2);
Se usa para buscar una cadena en otra cadena, en strstr (var1, var2); Pasamos dos cuerdas nombradas var1 y var2 en el cual var1 es ser sacado de var2 Tan pronto como obtenemos la cadena deseada, el puntero se devolverá.

Ejemplo 1: Uso de métodos de funciones de cadena

Echemos un vistazo a la primera instancia.

#incluir
#incluir
usando el espacio de nombres STD;
int main ()
char var1 [12] = "my";
char var2 [12] = "artículo";
char var3 [12];
int longitud;
strcpy (var3, var1);
cout <<"strcpy( var3, var1) : "<< var3 << endl;
strcat (var1, var2);
cout <<"strcat( var1, var2): "<< var1 << endl;
longitud = strlen (var1);
cout <<"strlen(var1) : "<< length << endl;
regresar 0;

Primero incluimos el archivo de encabezado #incluir que es una biblioteca con los métodos predefinidos cinta y cout que se emplea para instalaciones de entrada y salida en C++. Después de eso, definimos nuestro archivo de encabezado de cadena que nos permite usar funciones incorporadas de cadena como strcpy, strstr, strcat, etc.

A continuación, usamos el usando el espacio de nombres STD; Archivo de encabezado que se usa porque no podemos tener variables, funciones, etc. con el mismo nombre en la programación. Nosotros, por lo tanto, empleamos espacios de nombres Para evitar esos conflictos.

Acercarse a nuestra función principal que es int main (), int es el tipo entero que será el tipo de retorno de un código. El sistema operativo que ejecuta nuestro código llama a la función principal. Un solo programa puede contener un número ilimitado de funciones, pero solo puede contener una función principal.

Después de hacerlo, inicializamos nuestras variables de cadena var1 del tamaño de la matriz 12, var2 con tamaño de matriz 12 y var3 del tamaño de la matriz 12, dónde var1 se asigna con valor de cadena Mi y var2 se asigna con artículo. No asignamos ningún valor a var3 porque lo usaremos para copiar nuestro var1 en var3. Nuestra cuarta variable tiene un entero de tipo de datos nombrado longitud que usaremos para calcular la longitud de la cadena resultante.

strcpy (var3, var1); En esto, estamos asignando var3 El valor de var1 cual es Mi y luego mostrarlo usando el cout Declaración que es responsable de mostrar el contenido como una salida. A continuación, utilizamos la función strcat que se usa para concatenar dos cuerdas diferentes en una. Como se muestra en la línea 17, concatenamos dos cuerdas nombradas var1 y var2 Para hacerlos una cadena.

Ahora, nuestro siguiente paso es calcular la longitud de toda la cadena concatenada. Asignamos el strlen funcionar a nuestra variable entera longitud y pasó la variable de cadena que calcularemos. Entonces, se mostrará usando nuestro cout declaración.

Tipos de función de cadena

El lenguaje de programación C ++ generalmente usa dos tipos de cadenas:

Tipo 1: Cadena C (cadena de estilo C)
Las cadenas C son una matriz unidimensional de caracteres que están cerrados con el carácter nulo 0. Como resultado, una cadena que termina con un nulo contiene los caracteres que componen una cadena.

Métodos de inicialización de cadenas C
Para inicializar la cadena de char mi articulo Usaremos dos métodos. La matriz de caracteres que sostiene la cadena debe ser un personaje más grande que las palabras mi articulo Para acomodar al personaje nulo al final de la matriz.

Método 1

# char var [12] = 'm', 'y', 'a', 'r', 't', 'i', 'c', 'l', 'e', ​​'\ 0;

En esto, inicializamos una variable nombrada varilla con el tipo de datos carbonizarse que se utiliza para representar el tipo de datos del personaje. Asignamos un valor de cadena a la variable varilla Eso es "M, Y, A, R, T, I, C, L, E, \ 0". En este "\ 0" se usa para representar el valor nulo que permitirá al compilador terminar la cadena.

Ejemplo 2: Asignar una cadena a una variable usando el método 1

Mira la segunda instancia de este artículo.

#incluir
usando el espacio de nombres STD;
int main ()
char myvar1 [12] = 'm', 'y', ", 'a', 'r', 't', 'i', 'c', 'l', 'e', ​​'\ 0' ;
cout <<"message: ";
cout << myvar1 << endl;
regresar 0;

En este ejemplo, vamos a asignar y mostrar nuestra cadena usando el Método 1, después de incluir nuestro archivo de encabezado iostream que nos permite usar su Cin y Cout operaciones para mostrar o obtener datos del usuario. Avanzamos hacia nuestra función principal en la que se realizará toda nuestra ejecución.

Definimos un nombre de variable myvar1 que contiene una matriz de carácter de tipo de datos que es mi articulo. Luego, mostramos nuestro valor de cadena usando el cout declaración. Asignamos una matriz de caracteres de tamaño 12 a nuestra variable y la pasó a nuestro cout función. La salida resultante es:

Método 2

# char var = "mi artículo";

En el código anterior, inicializamos otra variable varilla que también contiene el valor de cadena mi articulo. Este mi articulo se asigna directamente a varilla Usar comas invertidas en lugar de asignar los alfabetos por separado.

Ejemplo 3: Asignar una cadena a una variable usando el método 2

En el siguiente ejemplo, asignaremos un valor de cadena a nuestra variable myvar1:

#incluir
usando el espacio de nombres STD;
int main ()
char myvar1 [12] = "mi artículo";
cout <<"message: ";
cout << myvar1 << endl;
regresar 0;

Creamos una variable llamada myvar1 que almacena una variedad de tipos de datos de caracteres, o mi articulo. Entonces, usando el cout Declaración, imprimimos nuestro valor de cadena. Cuando dimos una matriz de carácter de tamaño 12 para nuestro cout función, la salida fue la siguiente:

Tipo 2: String Class Objects que son cadenas (clase de cadena de la biblioteca C ++ estándar)

Una cadena C ++ es una instancia de la cadena de clase, que se encuentra en el espacio de nombres estándar y se define en el archivo de encabezado . Para construir un objeto de cadena, uno de los numerosos constructores disponibles en la clase de cadena también se puede invocar (explícita o implícitamente). Las cadenas tienen el gran beneficio adicional de usar la asignación de memoria dinámica sobre las matrices de caracteres, que aún se pueden usar en C++.

Sintaxis

# string var = "mi artículo";

En esto, tenemos una variable de cadena nombrada varilla que contiene el valor mi articulo. El siguiente es el método para declarar o inicializar la cadena que consiste en las palabras mi articulo. La matriz de caracteres que sostiene la cadena debe ser un personaje más grande que las palabras mi articulo Para acomodar al personaje nulo al final de la matriz.

Ejemplo 4: Uso de la función de cadena

Aquí hay otro ejemplo importante de esta guía:

#incluir
usando el espacio de nombres STD;
int main ()
char myvar1 [50];
cout <<"Enter a string: ";
cinta.Obtener (myvar1, 50);
cout <<"You entered: "<< myvar1 << endl;
regresar 0;

Comenzamos por incluir el archivo de encabezado #incluir, que es una biblioteca que utiliza los métodos estándar Cin y Cout para las instalaciones de entrada y salida de C ++. Después de eso, definimos nuestro archivo de encabezado de cadena, lo que nos permite usar métodos de cadena incorporados como Strcpy, Strstr, Strcat, etc.

Pasando a nuestra función principal, int main (), donde int es el tipo de entero que se utilizará como valor de retorno para un código. La función principal es llamada por el sistema operativo que ejecuta nuestro código. No hay límite para la cantidad de funciones que un programa puede tener, pero solo puede haber una función principal.

Una variable llamada myvar fue creado, con un tipo de datos de cadena. El cout la declaración se usó luego para mostrar el Ingrese una cadena: texto para que el usuario obtenga que tiene que ingresar la cadena de su elección. Después de hacer eso, usamos el obtener línea función. Se puede leer una cadena o línea desde un flujo de entrada utilizando la función de biblioteca estándar getLine () en c++. Pertenece al encabezado de cadena. Al hacer esto, la cadena de entrada, si la hay, reemplazará el valor que se guardó previamente en el objeto de cadena Myvar. Siguiendo la entrada del usuario de una cadena Mi articulo se mostrará utilizando el cout Declaración.

Ejemplo 5: Pasando cadena

Aquí está el último ejemplo de esta guía.

#incluir
usando el espacio de nombres STD;
nulo charshow (char *);
Strings sin nubación (cadena);
int main ()
cadena myvar1;
char myvar2 [50];
cout <<"Enter a string: ";
GetLine (CIN, MyVar1);
cout <<"Enter another string: ";
cinta.Get (myVar2, 50, '\ n');
Stringshow (myVar1);
Charshow (myVar2);
regresar 0;

nulo charshow (char strn [])
cout <<"Entered char array is: "<< strn << endl;

Stringshow de vacío (String Strn)
cout <<"Entered string is: "<< strn << endl;

En este ejemplo, utilizaremos ambos métodos para pasar caracteres de cadena utilizando matrices de caracteres, así como métodos de cadena en un programa. Comenzamos por incluir el archivo de encabezado #incluir . Luego hicimos uso del usando el espacio de nombres STD;.

En nuestros archivos de encabezado, definimos dos funciones nombrando charshow () que será responsable al mostrar la cadena que obtendremos del usuario utilizando una matriz de caracteres y la otra Stringshow () que mostrará la cadena, que obtendremos del usuario utilizando un método de cadena.

Dentro de la función principal () de este programa de ejemplo, declaramos dos cuerdas myvar1 que se asignarán valores utilizando el método de cadena y el otro myvar2 se le asignará el tipo de caracteres utilizando una matriz fija de 50 tamaño. Los usuarios tienen que ingresar dos cuerdas. Estos se mantienen en las variables myvar1 y myvar2, dónde myvar2 es una matriz de char y myvar1 es un objeto de cadena, respectivamente.

La cadena se muestra luego utilizando dos procedimientos llamados charhow () y Stringshow (). El parámetro es la única distinción entre las dos funciones. La primera función charshow () acepta un parámetro de la matriz de caracteres de tipo, mientras que el segundo acepta un parámetro de la cadena de tipo.

Conclusión

La base de este artículo es la implementación de la cadena y sus métodos clave utilizando varios tipos, que nos permiten personalizar la función de cadena para cumplir con nuestros requisitos, con ejemplos de cómo emplear cadena y cuándo emplearla. Hemos agregado varias funciones que forman parte de la función de cadena en C++. Hemos explicado cinco ejemplos diferentes para explicar el funcionamiento de las cuerdas en C++.