Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
struct libri **books =(struct libri**)malloc(sizeof(struct libri*));
if(!books)
{
puts("Ricerca interrotta");
}
books[0]= start;
struct libri ***point;
struct libri *a =(struct libri*)malloc(sizeof(struct libri));
if(!a)
{
puts("Ricerca interrotta");
}
int s =1;
for(a = start; a; a = a->next)
{
if(strstr(a->title, title))
{
books =(struct libri **)realloc(books, sizeof(struct comp*)*(s + 1));
if(!books)
{
puts("Ricerca non completata");
goto ret;
}
point =&books;
(*point)[s]= a;
s++;
}
}
(*point)[0]->code = s -1;
ret:
return point;
}
[/CODE]
Ho risolto i problemi precedenti, ma ne restano due:
- L'elemento 0 del vettore books č uguale all'elemento 1(notato durante l'esecuzione del programma)
- Se avvio la ricerca in un database vuoto l'istruzione "(*point)[0]->code = s - 1;", restituisce errore.
Ultima modifica effettuata da drewnik99 il 02/09/2011 alle 20:08
P.S.: che senso ha confrontare a, che č un puntatore a struct, con strlen, che č un banale intero? Dov'č la definizione di title? Dove viene inizializzato? A cosa serve il terzo for, dato che poi num non viene nemmeno nominato?
Scusa, ho sbagliato a riportare, era num non a. - drewnik99 - 02/09/11 12:28
Ho apportato qualche modifica. Ho postato la funzione completa - drewnik99 - 02/09/11 16:01