[Gulli] C-onoscete il C?
Anubis Wolf
conan.edogawa.detective@gmail.com
Mer 12 Giu 2013 20:00:25 CEST
Sinceramente avevo capito che dovesse scrivere il programma da zero solo
per questo.
Il giorno 12/giu/2013 19:25, "Fabrizio Carrai" <fabrizio.carrai@gmail.com>
ha scritto:
>
> Oh...ma se ha chiesto di correggere un programma in "C" perchè dovete
farglielo fare in un altra maniera ?!
>
>
> Il giorno 12 giugno 2013 19:22, Fabrizio Carrai <fabrizio.carrai@gmail.com>
ha scritto:
>
>> Ti potrei consigliare di
>>
>> a) leggere la riga con una fgets
>> b) usare la sscanf al posto della fscanf
>>
>> come in [1]. Qui è più semplice essere sicuri di cosa si va a processare.
>>
>> Ma principalmente ti consiglio di considerare il valore di ritorno della
fscanf() [2]: se è diverso dal numero di campi che ti aspetti fai un break
ed esci dal loop.
>>
>> Fabrizio
>>
>> [1]
http://stackoverflow.com/questions/861793/trouble-reading-a-line-using-fscanf
>> [2] http://it.wikipedia.org/wiki/Scanf
>>
>>
>> Il giorno 12 giugno 2013 15:43, Alessandro Marzini <
alessandro.marzini@gmail.com> ha scritto:
>>>
>>> Mettiamo alla prova i gullisti programmatori di C
>>>
>>> devo scrivere un piccolo programma che mi prenda un file di testo cosi
fatto:
>>>
>>> 111792;AFGHANISTAN;Areeba Mobile;93;77
>>> 125426;AFGHANISTAN;AT Mobile;93;75,78,89
>>> 124225;AFGHANISTAN;AWCC Mobile;93;70
>>> 123768;AFGHANISTAN;Etisalat Mobile;93;78
>>> 2;AFGHANISTAN;Other;93;
>>> 111793;AFGHANISTAN;Roshan Mobile;93;72,79
>>> 129491;ALBANIA;OLO;355;4249,4250,4251,4252
>>>
>>> e devo riorganizzarlo cosi:
>>>
>>> 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
>>>
>>> In pratica e' un listino prezzi dove pero' mi hanno messo i prefissi
per una certa destinazione tutti insieme in una cella separati da virgola,
invece io devo averi riga per riga come scritto.
>>>
>>> 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.
>>>
>>> Estratto del codice:
>>>
>>> http://codepad.org/YaolFNjB
>>>
>>> Se qualcuno ha voglia..
>>>
>>> Grazie
>>>
>>> --
>>> Mailing list info: http://lists.linux.it/listinfo/gulli
>>> Pagina web del GULLI: www.livorno.linux.it
>>
>>
>
>
> --
> Mailing list info: http://lists.linux.it/listinfo/gulli
> Pagina web del GULLI: www.livorno.linux.it
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.linux.it/pipermail/gulli/attachments/20130612/2019a435/attachment.html>
Maggiori informazioni sulla lista
Gulli