Ciao a tutti,
innanzitutto mi presento, sono Carlo ed ho iniziato a programmare da circa 6 mesi iniziando dal C, preciso che non avevo altre esperienze se non qualche script e utilizzo quel poco che so di programmazione per alleggerire delle operazioni che tendenzialmente sarei costretto a fare manualmente.
Ho realizzato un programmino per leggere dei dati su di un file txt e inserire i dati in una struttura per successive elaborazione dei dati.
Il programma ha funzionato bene fino ad un caso dove tra un separatore e l'altro (la virgola in questo caso) non è stato inserito nulla, quindi invece di avere una struttura come gli altri tipo "dato1,dato2,dato3" ha un campo vuoto nel quale non vengono inseriti spazi o che bensi arriva come "dato1,,dato3" e purtroppo non posso modificare come questo file viene generato.
Il mio programmino fa parsing con un fscanf ma quando trova i separatori attaccati inizia a mettere dati "sporchi", incollo il codice un pò ripulito in quanto i campi sarebbero 22 ma evito di intasare il tutto per cose ripetute:
Esiste un modo per fargli interpretare i due separatori incollati come spazio vuoto?codice:fscanf(stream1,"%[^\','],%[^\','],%[^\',']%s",nuova.dato1,nuova.dato2,nuova.dato3);
Ho pensato a dei controlli sul carattere attuale e sul successivo però appesantirei il tutto, dovrei tornare a inizio riga e insomma...credo che seguendo questa strada andrei a complicare il tutto di parecchio.
Grazie
Carlo