Trattamento testo
Vernia Damiano
melkor.x a tiscali.it
Mar 15 Lug 2003 17:17:11 UTC
On Tue, 15 Jul 2003, andrea gelmini wrote:
> > Ciao, in numerosi casi dovrei trasformare dei file di testo in
> > file binari per poterli dare in pasto piu' facilmente ai miei programmi C.
> non ho capito. quando apri in lettura un file, in particolare in linux, in
> particolare in C, non c'e` distinzione tra testo/binario.
D'accordo, ma per leggere da file un intero in intero in formato
binario (4 byte) faccio:
fread(&risultato, sizeof(int), 1, file);
per leggerlo in formato "testo" devo scomodare per lo meno la scanf.
finche' si tratta di un numero poco male, quando devo leggere delle
strutture il formato binario mi e' piu' comodo.
> > Il trattamento dovrebbe limitarsi a qualcosa del tipo
> > ordinamento/eliminazione/inserzione/controllo_consistenza.
> > Se non ricordo male awk e' un linguaggio interpretato (tanto per
> > questa fase non ho assolutamente bisogno di velocita') pensato apposta per
> > questo lavoro. Mi sbaglio?
> quindi queste operazioni non devi farle all'interno del tuo programma?
Non e' che "devo", non voglio. Per come l'ho pensato io il mio
programma prende in ingresso un file in un mio formato, lo elabora, e
restituisce un file nello stesso identico formato. Siccome questo formato
mi e' inutile sia umanamente leggibile preferisco scrivere un secondo
programma che prende qualcosa di leggibile ("testo") e lo traduce nel
formato "mio" ("binario").
> awk nasce proprio per lavorare su file di testo, con una certa
> flessibilita`, senza dover stare a scomodare complicanze del C. comunque,
> visto che la paranoia della velocita` impera, esiste un simpatico tool che
> traduce da awk a C. in effetti gli incrementi di prestazioni ci sono (poi
Ripeto: non mi interessa nulla della velocita' di questo secondo
programma (quello che ha generato il thread). Per conto mio lo scriverei
col BASIC del C64, se non dovessi fare i salti mortali poi per spostare i
dati da PC a C64 e viceversa.
> la documentazione che accompagna il pacchetto ufficiale della gnu e` piu`
> che sufficiente (gawk).
L'ho vista. A proposito, esiste un comado per stamparsi per bene
il manuale info su carta? Cioe' far uscire un bel libretto ben impaginato
partendo dal manuale info. Texinfo, forse?
--
Ciriciao
LtC. Melkor?! B. Xapatan
Maggiori informazioni sulla lista
Lug
|