Introducción
En la programación en C, podemos concatenar dos cadenas utilizando punteros apuntando la dirección base de las dos cadenas a una variable puntero de tipo char, incrementando el puntero hasta el final de la primera cadena y luego copiando los caracteres de la segunda cadena al final de la primera.
En este laboratorio (lab), aprenderás cómo concatenar dos cadenas utilizando punteros en el lenguaje de programación C.
Crear un nuevo archivo
En primer lugar, abre tu editor de texto y crea un nuevo archivo llamado main.c en el directorio ~/project/.
Incluir archivos de cabecera (Header Files)
En este paso, incluye los archivos de cabecera necesarios en el programa, que son stdio.h y stdlib.h.
#include <stdio.h>
#include <stdlib.h>
Definir la función main()
La función main() se utiliza para definir el cuerpo del programa en C.
int main(){
// TODO: Write code here
return 0;
}
Declarar variables
En este paso, declara dos arreglos de caracteres aa y bb con un tamaño de 100 bytes cada uno.
char aa[100], bb[100];
Ingresar cadenas de texto (Strings)
En este paso, el usuario proporcionará los valores para las dos cadenas de texto aa y bb y las almacenará utilizando la función gets().
printf("Enter the first string: ");
gets(aa);
printf("Enter the second string to be concatenated: ");
gets(bb);
Concatenar cadenas de texto (Strings)
En este paso, definiremos dos punteros a caracteres a y b y comenzaremos a concatenar la segunda cadena de texto bb con la primera aa.
char *a = aa;
char *b = bb;
while(*a){
a++;
}
while(*b){
*a = *b;
b++;
a++;
}
*a = '\0';
*aapunta a la siguiente ubicación de memoria siempre y cuando no apunte al final de la primera cadena de textoaa. Esto se hace utilizando la expresiónwhile(*a).- Aquí,
ase incrementa a la siguiente ubicación de memoria hasta que alcanza el final de la primera cadena de textoaa. *bapunta a la siguiente ubicación de memoria hasta que no apunte al final de la segunda cadena de textobb. Esto se hace utilizando la expresiónwhile(*b).- Para cada ubicación de memoria,
ase le asigna el valor al que apuntaby luego tantoacomobse incrementan. Esto se hace utilizando la expresión*a = *b; b++; a++; - El
'\0'representa el final de la cadena de texto.
Mostrar la cadena de texto concatenada (String concatenada)
En este paso, muestra la cadena de texto concatenada después de completar el proceso de concatenación.
printf("\nThe string after concatenation is: %s ", aa);
Compilar y ejecutar
En este paso, compila y ejecuta el archivo main.c utilizando los siguientes comandos:
gcc main.c -o output
./output
Código completo
A continuación, se muestra el código completo del programa "Concatenar cadenas de texto (Strings) utilizando punteros":
#include <stdio.h>
#include <stdlib.h>
int main(){
char aa[100], bb[100];
printf("Enter the first string: ");
gets(aa);
printf("Enter the second string to be concatenated: ");
gets(bb);
char *a = aa;
char *b = bb;
while(*a){
a++;
}
while(*b){
*a = *b;
b++;
a++;
}
*a = '\0';
printf("\nThe string after concatenation is: %s ", aa);
return 0;
}
Resumen
En este laboratorio (lab), aprendiste cómo concatenar dos cadenas de texto (strings) utilizando punteros en el lenguaje de programación C. Hicimos esto apuntando la dirección base de las dos cadenas de texto a una variable puntero a carácter (char pointer) e incrementando el puntero hasta el final de la primera cadena de texto y luego copiando los caracteres de la segunda cadena de texto al final de la primera. Recuerda compilar y ejecutar el código para comprobar su funcionalidad.



