Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/10/2010, 20:20
juanma201092
 
Fecha de Ingreso: julio-2010
Mensajes: 17
Antigüedad: 13 años, 9 meses
Puntos: 0
Malloc y Realloc

No se porque no me anda la condicion del corte en el do while.
Me permite escribir y nunca corta.

#include <stdio.h>
#include <stdlib.h>
#define N 100
char*cargar_ptr(void);
int main()
{
int i;
char *ptr=NULL;
ptr=cargar_ptr();
printf("\n");
printf("%s",ptr);
return 0;

}

char*cargar_ptr(void)
{
int i=0, blc=5;
char*ptr=NULL;
ptr=malloc(sizeof(char)*blc);
do
{
i++;
if (i==blc)
{
blc=blc+5;
ptr=realloc(ptr,sizeof(char)*blc);
}

*(ptr+i)=getche();

if (*(ptr+i)=='\r')
{
*(ptr+i)=='\0';
}
}
while (*(ptr+i)!='\0');

ptr=realloc(ptr, sizeof(char)*i);
return ptr;

}