linux user group brescia

immagine del castello

Archivio della mailing list

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