Oppure

Loading
10/03/11 18:24
tommyprojects2011
io ho un file .txt che contiene:

87,46,57,90,17
,
48,17,15,29,52
,
46,5,9,38,50
,
75,88,44,68,31
,
90,45,84,69,8
,
11,81,9,60,21
,
90,33,3,16,23
,
37,86,19,21,60
,
69,66,84,1,46
,
68,35,88,19,63
,
47,32,39,58,51
,
88,27,33,2,44
,
4,30,25,5,46
,
30,5,86,53,50
,
52,36,76,16,25
,


mentre dovrebbe essere:

87,46,57,90,17,
48,17,15,29,52,
46,5,9,38,50,
75,88,44,68,31,
90,45,84,69,8,
11,81,9,60,21,
90,33,3,16,23,
37,86,19,21,60,
69,66,84,1,46,
68,35,88,19,63,
47,32,39,58,51,
88,27,33,2,44,
4,30,25,5,46,
30,5,86,53,50,
52,36,76,16,25,

con notepad ++ evidenzio questi caratteri nascosti (CRLF) che devo rimuovere...

87,46,57,90,17CRLF
,CRLF
48,17,15,29,52

Perfavore qualcuno/a mi aiuta a ripulire queste benedette... righe??? :asd:

GRAZIE INFINITEEE :D
aaa
10/03/11 18:37
lorenzo
Mi pare di capire che le righe da eliminare siano ad intervalli regolari, quindi basta leggere riga per riga e salvare in un altro file solo le righe corrette, aggiungendo in append alla fine della riga corretta una virgola...
Ultima modifica effettuata da lorenzo 10/03/11 18:38
aaa
10/03/11 18:40
HeDo
semplicemente con una cosa di questo genere:


char *p = // punta al testo del file
char *h = // punta ad un'area di memoria lunga almeno quanto il file

while(*p) {

    if (*p != 10 || *p != 13) {
        *h = *p;
        h++;
    }
    p++;
}



in questo modo dentro la stringa puntata da h ci sarà il testo del file senza i ritorni a capo :)

Puoi fare la stessa cosa anche senza leggere tutto il file in memoria, basta leggere carattere per carattere e comportarsi in maniera analoga.
Ultima modifica effettuata da HeDo 10/03/11 18:48
aaa