HOLA!, Tengo este codigo para hacer, lo q hace es copiar una cantidad (cant) de caracteres de una cadena (cadena1) a otra cadena (cadena2) desde la posicion indicada (pos) (no debo usar una funcion de una biblioteca estandar
), entonces resulta q funciona solo q al final el puts de la funcion q hice, me devuelve obviamente una cadena (cadena2) con basura, mi pregunta es cual es la forma correcta de cargar esa cadena (cadena2) para q no muestre basura al final? como la inicializo? como se trabaja correctamente?
#include <stdio.h>
#include <string.h>
#define MAX 20
void copiar_cad(char cadena1[MAX],char cadena2[MAX],int pos,int cant);
int main(){
char cadena1[MAX], cadena2[MAX];
int pos, cant;
printf("Ingrese una cadena de caracteres: \n");
gets(cadena1);
printf("Ingrese el numero de posicion desde donde se va a copiar: \n");
scanf("%d", &pos);
printf("Ingrese la cantidad de caracteres que se van a copiar: \n");
scanf("%d", &cant);
copiar_cad(cadena1, cadena2, pos, cant);
return 0;
}
void copiar_cad(char cadena1[MAX],char cadena2[MAX],int pos,int cant){
int i;
for(i=0;i<cant;i++){
cadena2[i]=cadena1[pos-1];
pos++;
}
puts(cadena2);
}