DOMANDA USO FILE CSV IN C

Pubblicità

Cioscos

Utente Attivo
Messaggi
926
Reazioni
95
Punteggio
59
Salve! Per un progetto universitario dobbiamo creare una applicazione ma vabbè questo non è il punto. Dovremmo caricare dei vettori di tipo struct da file e aggiornare eventualmente dei file. Fino qui tutto ok se non fosse che specifica che i file devono essere o binari o di tipo .CSV che non abbiamo mai visto ne usato.
Qualcuno mi potrebbe spiegare come si gestiscono questi file in C? O se ci conviene usare i file binari?
 
un .csv è un semplce file di testo che puoi aprire con qualunque editor;
CSV sta per Comma Separated Values, ossia ci sono delle stringhe che rappresentano dai o campi/record, per esempio di un foglio elettronico o di un database;
il file è un semplice insieme di righe dove ciascuna riga rappresenta un record, i campi del record sono separati dal carattere virgola ",", esempio:

Nome,Cognome,Data,Tel
Pippo,Trombetta,2000-01-01,0123456789
Paperino,Paolino,1934-01-01,98765432


da codice si scandiscono con un semplice ciclo che termina alla fine del file.
 
un .csv è un semplce file di testo che puoi aprire con qualunque editor;
CSV sta per Comma Separated Values, ossia ci sono delle stringhe che rappresentano dai o campi/record, per esempio di un foglio elettronico o di un database;
il file è un semplice insieme di righe dove ciascuna riga rappresenta un record, i campi del record sono separati dal carattere virgola ",", esempio:

Nome,Cognome,Data,Tel
Pippo,Trombetta,2000-01-01,0123456789
Paperino,Paolino,1934-01-01,98765432


da codice si scandiscono con un semplice ciclo che termina alla fine del file.
Intanto grazie per la risposta. Il problema è che ho notato che i .CSV non hanno l'EOF. Quindi sono più problematici da gestire rispetto ai .txt Confermi?
 
si, mi pare di ricordare chel'EOF non c'è,
in quel caso devi acquisire ciascuna riga come se fosse un unico elemento e la fine arriva quando l'ultima riga acquisita è NULL
 
Ultima modifica:
Si, come ti ha detto @BATT00cent i file .CVS sono decisamente banali e facilmente gestibili anche attraverso un editor, se dovesse servire metterci mano.. aldilà del nome, che indica la virgola originariamente quale separatore dei campi, ci sono varianti che consentono di usare altri caratteri. È un formato usato per trasferire database o fogli di calcolo.. si adattano perfettamente ad una lettura sequenziale che termina intrinsecamente anche se non trova un carattere eof, che comunque puoi sempre facilmente aggiungere, se proprio ti dovesse servire!

Inviato dal mio Nexus 5 utilizzando Tapatalk
 
I file CVS non hanno EOF?
E dove lo avete sentito :)
Un file che non abbia una fine io non lo ho ancora visto... e probabilmente non lo vedrò mai.
Una file CVS non è altro che un banale file di testo, niente di più. Ogni riga rappresenta un record i cui campi sono separati da una virgola (nella versione standard, ma si può usare qualsiasi terminatore si voglia purché non faccia parte del testo, uno molto comune è il TAB). Esistono librerie che permettono di leggerli e memorizzare i campi in un recordset come fosse un database, o lo si può leggere banalmente con qualsiasi libreria di IO presente nel linguaggio di programmazione preferito. A volte non c’è neanche di scrivere nessuna linea di codice (!) per esempio usando Excel che è capace di importare nativamente file in questo formato.
 
Pubblicità
Pubblicità
Indietro
Top