|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Mar 2005
Messaggi: 1653
|
[C] Gestione avanzata dei files
Ciao a tutti!
Sapete mica se esistono delle funzioni di libreria che consentano una gestione avanzata dei files, come ad esempio la ricerca in base ad una chiave o l'inserimento ordinato di record? Non vorrei scrivermele da solo (ammesso che ne sia capace), e non vorrei fare porcherie del tipo che per inserire un record a metà file mi riscrivo tutto il file. Idem per la cancellazione di record... Ricordo che il Pascal forniva funzioni del genere... (lavoro su Linux/Mac OS X) Grazie
__________________
gica78r@ncc-1701:~$ tar -c tar: Codardamente mi rifiuto di creare un archivio vuoto |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Mar 2005
Messaggi: 1653
|
Quote:
__________________
gica78r@ncc-1701:~$ tar -c tar: Codardamente mi rifiuto di creare un archivio vuoto |
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Dovresti chiederti: quanti utenti devi poter gestire? 100, 1000? L'accesso a tale file deve essere fatto in modo concorrente da più processi? Utilizzare ad esempio SQLite potrebbe essere una buona idea, non ti devi preoccupare di tutti i dettagli legati alla lettura, indicizzazione, ecc... Altrimenti potresti usare un'altra libreria che si chiama GDBM, è un insieme di routine per gestire una hash-table basata su file. Non l'ho mai usata ma so che è davvero molto semplice (sebbene abbia delle limitazioni).
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Mar 2005
Messaggi: 1653
|
Quote:
Non ci sono problemi di ottimizzazione degli accessi, né di prestazioni (si tratta di un progetto molto elementare), però non vorrei fare una schifezza Ora do un'occhiata a GDBM. Grazie
__________________
gica78r@ncc-1701:~$ tar -c tar: Codardamente mi rifiuto di creare un archivio vuoto |
|
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Se come hai detto ci sono poche decine (ma anche se fossero alcune centinaia) di utenti, non ci sono grossi problemi. Io userei 2 strutture: Codice:
typedef struct
{
....qui ci metti i dati di 1 utente...
} UTENTE;
typedef struct
{
UTENTE *arr_utenti;
int num_utenti;
} ARRAY_UTENTI;
Ti basta solo fare una serie di funzioni, es. load/save/search/add .... che operano su un ARRAY_UTENTI.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:11.










Ricordo che il Pascal forniva funzioni del genere... 









