Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/11/2014, 13:12
emmx2012
 
Fecha de Ingreso: agosto-2014
Mensajes: 35
Antigüedad: 10 años, 2 meses
Puntos: 0
Pregunta borrar cosas basura o inicializar una cadena con cosas nulas

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);
}