Ver Mensaje Individual
  #4 (permalink)  
Antiguo 21/01/2008, 10:31
Avatar de _Lucifer_
_Lucifer_
 
Fecha de Ingreso: junio-2006
Mensajes: 1.662
Antigüedad: 18 años, 9 meses
Puntos: 28
Re: por que me da error esta funcion?

La forma "correcta" sería:
Código:
char *mid2 (char *str1, int pos, int uds)
{
  char str2[uds];
  int z;
  for (z=pos;z<=pos+uds-1;z++)
    str2[z-pos]=str1[z];

  return str2;
}
El problema con eso es que estarías retornando un puntero a algo que ya no existe, porque cuando salgas del ámbito de la función str2 ya no existirá.

Te recomiendo que leas un manual de punteros y cadenas de caracteres, en google hay mucha info al respecto y si no me equivoco en las FAQs del foro también hay algo al respecto.

Saludos
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba: