Cadenas al estilo C - Parte 2
Parte de la sección Fundamentos del Journey de C++ de Coddy — lección 68 de 74.
Es importante recordar que cuando declaras una cadena de estilo C con un tamaño específico, necesitas asignar suficiente espacio para los caracteres que quieres almacenar, más un espacio extra para el carácter nulo.
Por ejemplo:
// Correcto: "Hello" necesita 6 espacios
// (5 letras + '\0')
char str1[6] = "Hello";// Incorrecto: ¡El arreglo es demasiado pequeño!
// "Hello" necesita 6 espacios, pero solo se dieron 5
char str2[5] = "Hello";
// Esto podría causar problemas// Correcto: El espacio extra está bien
// Espacio más que suficiente (se necesitan 10 > 6)
char str3[10] = "Hello";// Ejemplo que muestra el recuento de caracteres:
char name[5] = "John"; // Necesita 5 espacios:
// J + o + h + n + '\0' = 5 caracteresPuedes acceder a caracteres individuales en una cadena de estilo C utilizando la notación de arreglos:
char str[] = "Hello";
char first = str[0]; // 'H'
char third = str[2]; // 'l'También puedes modificar caracteres en una cadena de estilo C, siempre y cuando no excedas los límites del arreglo:
char str[] = "Hello";
str[0] = 'J';
std::cout << str; // Muestra "Jello"Sin embargo, no puedes asignar directamente una nueva cadena a una cadena de estilo C después de que ha sido declarada. Necesitarás usar funciones como strcpy para copiar cadenas, lo cual cubriremos en lecciones posteriores.
Hoja de referencia
Al declarar cadenas de estilo C, asigne espacio para todos los caracteres más uno para el terminador nulo '\0':
// Correcto: "Hello" necesita 6 espacios (5 letras + '\0')
char str1[6] = "Hello";
// Incorrecto: ¡El arreglo es demasiado pequeño!
char str2[5] = "Hello"; // Esto podría causar problemas
// Correcto: El espacio extra está bien
char str3[10] = "Hello";Acceda a caracteres individuales utilizando la notación de arreglos:
char str[] = "Hello";
char first = str[0]; // 'H'
char third = str[2]; // 'l'Modifique caracteres dentro de los límites del arreglo:
char str[] = "Hello";
str[0] = 'J';
std::cout << str; // Imprime "Jello"Nota: No puede asignar directamente una nueva cadena a una cadena de estilo C después de la declaración. Use funciones como strcpy para copiar cadenas.
Pruébalo tú mismo
Esta lección no incluye un desafío de código.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 1
Operadores aritméticosOperador móduloIncremento/DecrementoPost-incremento/decrementoAtajos aritméticosOperadores de comparaciónComparación de strings7Conceptos básicos de Entrada/Salida
Sentencia coutSentencia cinEntrada de cadenasResumen - Hasta 120Resumen - Verdadero o Falso5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 38Calculadora de números
Mensaje de bienvenidaObtención de números3Variables Parte 2
Declaración de tiposConvenciones de nomenclaturaResumen - Inicializar variablesType Casting Parte 1Type Casting Parte 26Toma de decisiones
Sentencia IfIf - ElseSentencia SwitchOperador condicionalRepaso - If ElseIf - Else anidados9Bucles
Bucle For - Parte 1Bucle WhileBucle Do WhileBreakContinueBucle For - Parte 2Bucles anidadosBucles infinitosResumen - Entrada dinámica12Cadenas
Cadenas al estilo C - Parte 1Cadenas al estilo C - Parte 2Operaciones con cadenasFunciones de cadenas - Parte 1Funciones de cadenas - Parte 2