Forum - C/C++
- Problema con pulizia righe da caratteri "nascosti" ascII?
tommyprojects2011 (Normal User)
Newbie
Messaggi: 10
Iscritto: 15/01/2011
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???
GRAZIE INFINITEEE
lorenzo (Normal User)
Guru
Messaggi: 1178
Iscritto: 15/04/2008
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 il 10/03/2011 alle 19:38
HeDo (Founder Member )
Guru^2
Messaggi: 2765
Iscritto: 21/09/2007
semplicemente con una cosa di questo genere:
Codice sorgente - presumibilmente C/C++
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 il 10/03/2011 alle 19:48