Oppure

Loading
02/03/14 15:34
Hunter-combo
Il mio problema è cancellare un record memorizzato su un file binario.
Mi sapreste suggerire come completare la funzione Cancella, nel seguente programma :

pastebin.com/…


(ho abbozzato qualche riga di codice spero possa andar bene)

Inizio a scorrere il file,leggendo ogni blocco con la funzione fread,appena trovo il record cercato,come dovrei cancellarlo ??
Non riesco a capire bene la logica.

Grazie mille.
Ultima modifica effettuata da Hunter-combo 02/03/14 15:37
aaa
02/03/14 17:57
Poggi Marco
Ciao!
Per cancellare un record, utilizza un file temporaneo, in cui ricopi tutti i record, tranne quello da cancellare.
Quindi cancella il file vecchio e rinomina la copia.
aaa
02/03/14 18:15
Hunter-combo
Ciao, grazie per aver risposto.
Dici utilizzando le funzioni remove() e rename() ?!
Volevo proprio evitare di usare quelle funzioni.
aaa
02/03/14 18:35
nessuno
Quello è un modo, il modo più semplice.

Oppure potresti spostare i record attivi in alto e troncare il file con una funzione apposita (che dipende dal sistema operativo usato). Se l'ordine dei record non è importante potresti anche velocizzare questa operazione.
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
03/03/14 21:36
Hunter-combo
Grazie, alla fine ho optato per il "modo più semplice" utilizzando rename e remove . ;)
aaa