Tu codigo no esta bien, tiene un error.
Estas pasando un arreglo local como resultado de la operacion.
Esto no funcionara y si lo hace, no tardara en caer tu sistema.
Las variables locales, incluidas los arreglos son destruidas cuando
la funcion termina.
La forma correcta seria
char * Space(int Len)
{
int k ;
char *Aux=malloc(Len+1) ; /* Crealo dinamicamente para poder retornarlo */
for(k=0;k<Len;k++)
{
Aux[k]=´ ´;
}
Aux[k]=´\0´;
return Aux ;
}
De todas formas hay una forma de hacerlo mas corto:
char * Space(int Len)
{
char *Buffer=malloc(Len+1);
*(Buffer+Len)=NULL;
return memset(Buffer,32,Len);
}
Saludos,
Endos.