I campi oggetto e testo sono dei puntatori a stringhe,uso questa funzione per tirare su i caratteri da stdin o da file e allocare la memoria necessaria:
codice:
char* get_string(FILE *fp)
{
char *ptr;
ptr=(char*)malloc(sizeof(char));
if(ptr==NULL)
{
printf("Errore di lettura/inserimento dei dati,l' applicazione verra' chiusa\n");
exit(1);
}
int i=1,ci;
if(fp==stdin)
fflush(fp);
else
{
ci=fgetc(fp);
if(ci!='\n')
fseek(fp,-1,SEEK_CUR);
}
ptr[0]='\0';
while(ci!=10&&ci!=EOF)
{
ptr=(char*)realloc(ptr,i*sizeof(char));
if(ptr==NULL)
{
printf("Errore di lettura/inserimento dei dati,l' applicazione verra' chiusa\n");
exit(1);
}
ci=fgetc(fp);
if(ci!=10)
ptr[i-1]=ci;
else
ptr[i-1]='\0';
i++;
}
return ptr;
}
Anche se poi so che non è perfetta.
I campi oggetto e testo non sono usati in questa porzione di codice.Il codice è chilometrico,in questa porzione il mio problema è assegnare i bit giusti,ma non ci riesco
Se non avete capito il criterio con cui voglio assegnare i bit perchè mi sono spiegato male,chiedete pure.Non riesco proprio a dargli un senso,solo i bit con dimensione 0 e 1 si "avverano",gli altri non li tocco nemmeno e non capisco il perchè