[Gulli] C-onoscete il C?
Daniele Forsi
dforsi@gmail.com
Mer 12 Giu 2013 23:00:58 CEST
Il 12 giugno 2013 15:43, Alessandro Marzini ha scritto:
> devo scrivere un piccolo programma che mi prenda un file di testo cosi
> fatto:
> 2;AFGHANISTAN;Other;93;
> e devo riorganizzarlo cosi:
> 2;AFGHANISTAN;Other;93;
è giusta? questa è l'unica riga riorganizzata che finisce con un punto e virgola
> Il mio problema è che se uso la fscanf, l'ultimo ciclo mi prende anche il
> valore della riga successiva, cioe' non riesco a dire alla fscanf di
> fermarsi quando arriva a fine riga.
fscanf ignora un sacco di cose tra cui i caratteri di fine riga e non
gestisce volentieri i campi vuoti come quella riga che ho citato sopra
che finisce con punto e virgola, da cui il consiglio di Fabrizio di
usare fgets+sscanf (ma comunque avresti il problema degli spazi
all'interno delle parole, insomma scanf() e famiglia sono poco utili
al di fuori dei libri di scuola)
> Estratto del codice:
>
> http://codepad.org/YaolFNjB
guarda se questo ti è utile
http://codepad.org/iQAy1mQ8
non spezza le righe come nel tuo codice, ma le righe di esempio
vengono trasformate così:
111792;AFGHANISTAN;Areeba Mobile;9377
125426;AFGHANISTAN;AT Mobile;9375
125426;AFGHANISTAN;AT Mobile;9378
125426;AFGHANISTAN;AT Mobile;9389
124225;AFGHANISTAN;AWCC Mobile;9370
123768;AFGHANISTAN;Etisalat Mobile;9378
2;AFGHANISTAN;Other;93
111793;AFGHANISTAN;Roshan Mobile;9372
111793;AFGHANISTAN;Roshan Mobile;9379
129491;ALBANIA;OLO;3554249
129491;ALBANIA;OLO;3554250
129491;ALBANIA;OLO;3554251
129491;ALBANIA;OLO;3554252
--
Daniele Forsi
Maggiori informazioni sulla lista
Gulli