Cadenas o Strings en C++

Las cadenas, o strings, son una parte fundamental de cualquier lenguaje de programación, y C++ no es la excepción. Estas secuencias de caracteres nos permiten trabajar con texto, una necesidad básica en la mayoría de los proyectos.

1. ¿Qué es una cadena en C++?

En C++, una cadena es una secuencia de caracteres terminada por un carácter nulo (\0). Se pueden crear de dos maneras:

  • Cadenas literales: Se escriben entre comillas dobles («Hola mundo!»).
  • Variables de tipo char array: Se declaran como un array de caracteres y se inicializan manualmente (char nombre[10] = «Juan»).

2. Funciones básicas para trabajar con cadenas:

  • strlen(cadena): Obtiene la longitud de la cadena (sin contar el carácter nulo).
  • strcat(destino, origen): Concatena la cadena origen al final de la cadena destino.
  • strcpy(destino, origen): Copia la cadena origen en la cadena destino.
  • strcmp(cadena1, cadena2): Compara dos cadenas y devuelve un valor que indica si son iguales, menores o mayores.

3. Ejemplos prácticos de uso de cadenas:

  • Imprimir un mensaje en pantalla:

#<strong>include</strong> <iostream>

int main() {
  std::cout << "Hola mundo!" << std::endl;
  return 0;
}

Lenguaje del código: C++ (cpp)
  • Concatenar dos nombres para formar un saludo:

#<strong>include</strong> <iostream>

int main() {
  char nombre1[] = "Juan";
  char nombre2[] = "Pérez";
  char saludo[20];

  strcpy(saludo, nombre1);
  strcat(saludo, " ");
  strcat(saludo, nombre2);

  std::cout << "Hola, " << saludo << std::endl;
  return 0;
}

Lenguaje del código: C++ (cpp)
  • Comparar dos cadenas para verificar si son iguales:

#<strong>include</strong> <iostream>

int main() {
  char cadena1[] = "Hola";
  char cadena2[] = "Hola";

  if (strcmp(cadena1, cadena2) == 0) {
    std::cout << "Las cadenas son iguales" << std::endl;
  } else {
    std::cout << "Las cadenas son diferentes" << std::endl;
  }

  return 0;
}

Lenguaje del código: C++ (cpp)

4. La biblioteca string:

C++ ofrece una biblioteca estándar llamada string que proporciona una forma más moderna y segura de trabajar con cadenas. Esta biblioteca ofrece una amplia gama de funciones para manipular cadenas, como:

  • size(): Obtiene la longitud de la cadena.
  • append(cadena): Concatena una cadena al final de la otra.
  • compare(cadena): Compara dos cadenas y devuelve un valor que indica si son iguales, menores o mayores.
  • find(subcadena): Busca la primera aparición de una subcadena dentro de otra.

5. Ejemplo de uso de la biblioteca string:


#<strong>include</strong> <iostream>
#<strong>include</strong> <string>

int main() {
  std::string nombre = "Juan Pérez";

  // Obtener la longitud de la cadena
  std::cout << "Longitud: " << nombre.size() << std::endl;

  // Concatenar una cadena
  nombre.append(" González");
  std::cout << "Nombre completo: " << nombre << std::endl;

  // Buscar una subcadena
  std::size_t pos = nombre.find("Pérez");
  if (pos != std::string::npos) {
    std::cout << "Apellido encontrado en la posición " << pos << std::endl;
  } else {
    std::cout << "Apellido no encontrado" << std::endl;
  }

  return 0;
}

Lenguaje del código: C++ (cpp)

Conclusión:

Las cadenas en C++ son herramientas fundamentales para trabajar con texto en tus programas. Dominarlas te permitirá crear aplicaciones más robustas y flexibles. Te animamos a explorar las diferentes funciones y bibliotecas disponibles para trabajar con cadenas, y a poner en práctica lo aprendido en tus propios proyectos.