PDA

View Full Version : C++ Stringhe vuote dopo ciclo....


Super_Gulp
12-08-2009, 09:33
Ciao a tutti... ho un problema su questa porzione di codice:

BufferIn = (char*) malloc(N*sizeof(char));
BufferIn[N*sizeof(char)]='\0';
N_Page_In=0;
printf ("\n\n\n*************************\n\n\n");
AppoStr[0]='\0';
while (recv (sd,BufferIn,N,0))
{
if (strcmp(BufferIn,"\n")==0)
{
PageIn[i]=AppoStr;
if (i>1)
printf ("%d) %s\n",i,PageIn[i]);
i++;
AppoStr[0]='\0';
}
else
strcat(AppoStr,BufferIn);
}
N_Page_In=i-1;

printf ("\n---------------------------------------------------\n");
printf ("N_Page_In=%d i=%d\n",N_Page_In,i);
for (N=0; N<=N_Page_In; N++)
printf ("%d) %s\n",N,PageIn[N]);
printf ("\n---------------------------------------------------\n");

}


Prendo dei dati da una connessione tcp (in particolare una pagina web).

Nel primo ciclo ( while (recv (sd,BufferIn,N,0)) ) tutto regolare (le righe vengono stampate regolarmente).

Mentre l'output del secondo ciclo (for...) è nullo (come se PageIn[N] fosse vuoto)....

Dove sbaglio ????

ps: questa è la definizione della variabile PagIn
char *PageIn[3048];
PageIn[0]='\0';




Grazie