Devolver cadena por parametro despues de MALLOC
Publicado por LEONE (10 intervenciones) el 18/03/2002 14:04:28
Mi duda es la siguiente, la cabecera de el procedimiento que tengo hecho en C es la siguiente: void leercad(char *cad, int max, int solonum), donde max es un parámetro que dice la longitud máxima y solonum si solo se pueden introducir números desde teclado. Mi duda es que despues de hacer un malloc a la cadena con el tamaño máximo, la dirección de inicio de la cadena cambia, y entonces, cuando se vuelve al procedimiento que llamó la cadena está apuntando a otro sitio, ¿cómo se soluciona esto?, lo normal es llamarlo leercad(cadena,20,0) donde cadena se ha declarado como char *cadena. ¿Qué es lo que está mal, como consigo q devuelva por parámetro la dirección correcta? Ya sé que la función es muy simple si se hace devolviendo un char*, pero es que me gusta más en este caso devolverlo por parámetro y no por función, y ya de paso, aprender algo más. Gracias
Valora esta pregunta
0