Oppure

Loading
09/06/09 12:05
HackerV88
Potresti farmi vedere come devo fare?
aaa
09/06/09 15:45
manvb.net
Te lo scrivo in pseudocodice:

Ponendo di avere due variabili (numstruct e numcampo) che indicano il numero della struttura e del campo da leggere:
char buffer[100];
int x=0;
while (!feof(file)){ //Finchè il file non è finito
if(x==(numstruct*5)+numcampo){//Se ho raggiunto il punto dsiderato inserisci il nuovo dato
buffer=valore_aggiornato; //ricordati di metterci un accapo alla fine
fprintf(file2, "%s", buffer);
}
else
{
fgets(buffer, 99, file); //Altrimenti limitati a copiare la riga
fprintf(file2, "%s", buffer);
}
x++;
}
copia(file, file2); //Copia file2 in file(questa funzione non esiste è solo pseudocodice)

file è il file di origine e file2 è il file di destinazione
Ultima modifica effettuata da manvb.net 09/06/09 15:46
aaa
10/06/09 8:43
gigisoft
Postato originariamente da manvb.net:

Dovresti arrivare alla linea desiderata con fgets(considerando che ogni struttura occupa 5 linee). Nel frattempo copi tutte le linee che leggi su un file temporaneo. Arrivato alla linea desiderata invece di copiarla ne inserisci una nuova e poi continui a copiare il file riga per riga. Finito di far ciò copi il file temporaneo al posto di quello originale.

Dammi retta ti conviene riscriverlo da capo.


Uhmm... non sono del tutto d'accordo, puo' convenire riscrivere tutto se il file e' piccolo, ma se si memorizza un intero campionato... , se poi le operazioni di modifica sono molto frequenti...
in tal caso usare le funzioni fseek e company potrebbe essere conveniente.

Ciao. :k:

Luigi
aaa
10/06/09 12:54
Lawliet
O_O' usare 1 file temporaneo per copiare e incollare? Così ci metti tanto tempo... meglio come dice luigi :)
aaa