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

Cadenas C++

C++ proporciona los siguientes dos tipos de representaciones de cadenas −

La cadena de caracteres de estilo C

La cadena de caracteres de estilo C se originó en el lenguaje C y sigue siendo compatible con C++. Esta cadena es en realidad una matriz unidimensional de caracteres que termina en un null carácter '\0'. Por lo tanto, una cadena terminada en nulo contiene los caracteres que componen la cadena seguida de un nulo .

La siguiente declaración e inicialización crean una cadena que consta de la palabra "Hola". Para contener el carácter nulo al final de la matriz, el tamaño de la matriz de caracteres que contiene la cadena es uno más que el número de caracteres de la palabra "Hola".

char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};

Si sigue la regla de inicialización de matriz, entonces puede escribir la declaración anterior de la siguiente manera −

char greeting[] = "Hello";

La siguiente es la presentación de la memoria de la cadena definida anteriormente en C/C++ −

En realidad, no coloca el carácter nulo al final de una constante de cadena. El compilador de C++ coloca automáticamente el '\0' al final de la cadena cuando inicializa la matriz. Intentemos imprimir la cadena mencionada anteriormente −

Demostración en vivo
#include <iostream>

using namespace std;

int main () {

   char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};

   cout << "Greeting message: ";
   cout << greeting << endl;

   return 0;
}

Cuando el código anterior se compila y ejecuta, produce el siguiente resultado −

Greeting message: Hello

C++ admite una amplia gama de funciones que manipulan cadenas terminadas en cero −

Sr.No Función y Propósito
1

strcpy(s1, s2);

Copia la cadena s2 en la cadena s1.

2

strcat(s1, s2);

Concatena la cadena s2 al final de la cadena s1.

3

strlen(s1);

Devuelve la longitud de la cadena s1.

4

strcmp(s1, s2);

Devuelve 0 si s1 y s2 son iguales; menor que 0 si s1s2.

5

strchr(s1, ch);

Devuelve un puntero a la primera aparición del carácter ch en la cadena s1.

6

strstr(s1, s2);

Devuelve un puntero a la primera aparición de la cadena s2 en la cadena s1.

El siguiente ejemplo hace uso de algunas de las funciones mencionadas anteriormente −

Demostración en vivo
#include <iostream>
#include <cstring>

using namespace std;

int main () {

   char str1[10] = "Hello";
   char str2[10] = "World";
   char str3[10];
   int  len ;

   // copy str1 into str3
   strcpy( str3, str1);
   cout << "strcpy( str3, str1) : " << str3 << endl;

   // concatenates str1 and str2
   strcat( str1, str2);
   cout << "strcat( str1, str2): " << str1 << endl;

   // total lenghth of str1 after concatenation
   len = strlen(str1);
   cout << "strlen(str1) : " << len << endl;

   return 0;
}

Cuando el código anterior se compila y ejecuta, produce un resultado como el siguiente −

strcpy( str3, str1) : Hello
strcat( str1, str2): HelloWorld
strlen(str1) : 10

La clase de cadena en C++

La biblioteca estándar de C++ proporciona una cadena tipo de clase que admite todas las operaciones mencionadas anteriormente, además de mucha más funcionalidad. Veamos el siguiente ejemplo −

Demostración en vivo
#include <iostream>
#include <string>

using namespace std;

int main () {

   string str1 = "Hello";
   string str2 = "World";
   string str3;
   int  len ;

   // copy str1 into str3
   str3 = str1;
   cout << "str3 : " << str3 << endl;

   // concatenates str1 and str2
   str3 = str1 + str2;
   cout << "str1 + str2 : " << str3 << endl;

   // total length of str3 after concatenation
   len = str3.size();
   cout << "str3.size() :  " << len << endl;

   return 0;
}

Cuando el código anterior se compila y ejecuta, produce un resultado como el siguiente −

str3 : Hello
str1 + str2 : HelloWorld
str3.size() :  10

Lenguaje C

  1. Cuerda C
  2. Operadores de C++
  3. Comentarios de C++
  4. Plantillas de clase de C++
  5. Cadenas Java
  6. Cadenas de enumeración de Java
  7. Variables y tipos de C++:int, double, char, string, bool
  8. C++ Cadenas:strcpy(), strcat(), strlen(), strcmp() EJEMPLOS
  9. Cadenas en C:cómo declarar variable, inicializar, imprimir, ejemplo
  10. Java - Clase de cadenas
  11. Descripción general de C++