Lección 15 / 20

Manipular texto (string)

En esta lección trabajarás con cadenas de texto: medirlas, unirlas y extraer partes.

std::string maneja el texto sin que tengas que preocuparte de la memoria. length() o size() dan la longitud, + concatena y substr(inicio, cantidad) extrae un fragmento. Necesita #include <string>.

El código de ejemplo mide una cadena y extrae sus primeros 5 bytes. Fíjate en que el resultado es ¡Hol, solo cuatro caracteres: el signo ¡ ocupa 2 bytes en UTF-8, así que 5 bytes no equivalen a 5 caracteres. Las posiciones empiezan en 0.

Ese es justo el punto delicado: length() y substr() trabajan con bytes, no con caracteres. En español, con acentos y signos de apertura, los números salen mayores de lo que esperas y un corte puede caer a mitad de un carácter. Para manejar caracteres de verdad hacen falta bibliotecas específicas de Unicode.

En el trabajo real conviene distinguir std::string de las cadenas al estilo C (char*), que siguen apareciendo en APIs antiguas y que sí exigen gestionar la memoria a mano.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar C++ directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

Espacio publicitario (banner)
Espacio publicitario (en el artículo)