|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Oct 2006
Città: maddaloni/caserta
Messaggi: 522
|
[C]Gestione lista..please help
Ciao a tutti,mi rivolgo a voi xke devo risolvere un problema che all'apparenza sembrava semplicissimo..ma ci sto sbattendo la testa da 2 giorni.
In pratica ho un file txt da modificare..più precisamente questo txt contiene dei tag image che vorrei eliminare ricorsivamente ma nn ci riesco.. Ad esempio il file txt contiene ciò: ajajajajiajisjdijasdiajsdijasidj <jiajijaisjaisjaijsaisjalkgfignrinvbirn> ahahsduhasfiadjfidivmdivmd Ecco,x sommi capi dovrei arrivare ad avere invece: ajajajajiajisjdijasdiajsdijasidj ahahsduhasfiadjfidivmdivmd Ma proprio nn riesco.. Il codice fin'ora scritto è il seguente: # include <stdio.h> int main () { FILE *pf ; int i,fileDimm=0; char *a; pf = fopen ( "xxxxxx.txt" , "r" ) ; while(! feof(pf)) { fgetc(pf); fileDimm++; } fileDimm--, a=(char*)malloc(sizeof(char) * fileDimm+1); fseek(pf,0,SEEK_SET); while ( ! feof ( pf ) ) { fgets(a,200,pf); printf("%s\n",a); } fclose ( pf ) ; return 0; } Riesco a leggere la lista ma come potrei modificarla? Grazie in anticipo!
__________________
CONCLUSO POSITIVAMENTE CON:n0ise,drunke,farina1.
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Ciao, prima di stendere il codice del tuo algoritmo dovresti definire l'algoritmo stesso, e fissarne i singoli "passi".
Ad esempio, supponendo che il formato del file in input da elaborare sia questo: Codice:
ajajajajiajisjdijasdiajsdijasidj <jiajijaisjaisjaijsaisjalkgfignrinvbirn> ahahsduhasfiadjfidivmdivmd ... 1) dato un file in input, leggere ogni riga, una alla volta; 2) data una riga, stabilire se questa riga vada tenuta o scartata; 3) aprire un file in output, scrivere una riga nel file. Prova a ragionare sui singoli punti per trovare una soluzione. Se un singolo punto ti sembra ancora troppo complesso, lo "spezzi" ulteriormente, ad esempio il punto (2): 2.a) leggere il primo e l'ultimo carattere della riga 2.b) stabilire se entrambi i due carateri sono uguali rispettivamente a '<' e a '>' Comunque in linea di massima io vedo due approcci: 1) - leggi il file in input una riga alla volta, finchè non ci sono più righe da leggere e: --- se la riga è da tenere la metti in una lista in memoria; - apri lo stesso file, questa volta in scrittura; - leggi dalla lista in memoria una riga alla volta, finchè non ci sono più righe da leggere e: --- scrivi la riga nel file. oppure: 2) - apri il file in input in lettura; - apri un nuovo file in scrittura; - leggi il file in input una riga alla volta, finchè non ci sono più righe da leggere e: --- se la riga è da tenere, la scrivi nel nuovo file.
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:02.



















