Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Problema con pulizia righe da caratteri
Forum - C/C++ - Problema con pulizia righe da caratteri "nascosti" ascII?

Avatar
tommyprojects2011 (Normal User)
Newbie


Messaggi: 10
Iscritto: 15/01/2011

Segnala al moderatore
Postato alle 19:24
Giovedì, 10/03/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??? :asd:

GRAZIE INFINITEEE :D


cout << "Panta Rei (Eraclito)";
PM
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Up
1
Down
V
Segnala al moderatore
Postato alle 19:37
Giovedì, 10/03/2011
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


"There's no point in being exact about something if you don't even know what you're talking about."

JOHN VON NEUMANN


Siamo italiani NO??
Allora scriviamo in ITALIANO!!!!
PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2763
Iscritto: 21/09/2007

Up
1
Down
V
Segnala al moderatore
Postato alle 19:40
Giovedì, 10/03/2011
semplicemente con una cosa di questo genere:

Codice sorgente - presumibilmente C/C++

  1. char *p = // punta al testo del file
  2. char *h = // punta ad un'area di memoria lunga almeno quanto il file
  3.  
  4. while(*p) {
  5.  
  6.     if (*p != 10 || *p != 13) {
  7.         *h = *p;
  8.         h++;
  9.     }
  10.     p++;
  11. }



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
grazie ragazzi... ma avendo ad esempio string linea come posso metterla nel cod da voi postato? Grazie - tommyprojects2011 - 10/03/11 21:26


Ingegnere Informatico
https://ldlagency.it
PM