Ver Mensaje Individual
  #3 (permalink)  
Antiguo 21/05/2008, 08:49
Avatar de José Molina
José Molina
 
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 23 años
Puntos: 1
Respuesta: Escribir espacios en blanco

Si le paso a la función cualquier otro caracter, por ejemplo "*" me lo concatena bien, pero con el espacio en blanco " " no.

Esta es la función:

char *rellena(char *cadena, int tamano, char relleno[1], int posicion) {
/*
cadena: texto que necesita completar
tamano: tamaño final de 'cadena'
relleno: caracter con el cual se completa la cadena hasta alcanzar el tamaño indicado
posicion: 0=rellena por la izquierda, 1=rellena por la derecha
*/
int resto;
int a=strlen(cadena);
int b=0;
resto = tamano - a;
if (resto>0)
{
char cad_relleno[resto];
char cad_final[tamano];
memset (cad_relleno,'\0',resto);
memset (cad_final,'\0',tamano);
while (b!=resto)
{
sprintf (cad_relleno,"%s%s",cad_relleno,relleno);
b=b+1;
}
if (posicion==0) //izquierda
{
sprintf(cad_final, "%s%s", cad_relleno, cadena);
}
else
{
sprintf(cad_final, "%s%s", cadena, cad_relleno);
}
return cad_final;
}
else
{
return cadena;
}
}
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.