[RISOLTO]FILE DI TESTO: [scrittura su file di un testo modificato]

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
flava
Prode Principiante
Messaggi: 70
Iscrizione: giovedì 20 aprile 2006, 17:49

[RISOLTO]FILE DI TESTO: [scrittura su file di un testo modificato]

Messaggio da flava »

Salve, ho un piccolo problema: devo scrivere su un file di testo un testo letto da un altro file ma modificandolo, cioè tutte le parole che ci sono in questo file le devo scrivere in un altro file in ordine alfabetico senza punteggiature e spazi. Il file lo riesco a leggere e riesco anche a togliere punteggiature e spazi e riscriverlo su un altro file, il mio problema è ordinare le parole tramite un array di struct.
Come potrei fare?
grazie
Ultima modifica di flava il mercoledì 10 ottobre 2007, 23:08, modificato 1 volta in totale.
Avatar utente
simo_magic
Rampante Reduce
Rampante Reduce
Messaggi: 9496
Iscrizione: lunedì 18 dicembre 2006, 21:37
Località: Piemonte

Re: FILE DI TESTO: [scrittura su file di un testo modificato]

Messaggio da simo_magic »

flava ha scritto: Salve, ho un piccolo problema: devo scrivere su un file di testo un testo letto da un altro file ma modificandolo, cioè tutte le parole che ci sono in questo file le devo scrivere in un altro file in ordine alfabetico. Penso che si debba usare un array di struct...ma non mi viene in mente come fare.
Come potrei fare?
grazie
ma che linguaggio devi usare?
se potessi usare un linguaggio a scelta io direi python...poche righe e sei a posto ;)
flava
Prode Principiante
Messaggi: 70
Iscrizione: giovedì 20 aprile 2006, 17:49

Re: FILE DI TESTO: [scrittura su file di un testo modificato]

Messaggio da flava »

devo usare il linguaggio c
Avatar utente
simo_magic
Rampante Reduce
Rampante Reduce
Messaggi: 9496
Iscrizione: lunedì 18 dicembre 2006, 21:37
Località: Piemonte

Re: FILE DI TESTO: [scrittura su file di un testo modificato]

Messaggio da simo_magic »

flava ha scritto: devo usare il linguaggio c
auhhhhhhhhhhhh bel casino allora rispetto al python...è un po' più complicato...
flava
Prode Principiante
Messaggi: 70
Iscrizione: giovedì 20 aprile 2006, 17:49

Re: FILE DI TESTO: [scrittura su file di un testo modificato]

Messaggio da flava »

non potresti darmi una mano ???
Avatar utente
simo_magic
Rampante Reduce
Rampante Reduce
Messaggi: 9496
Iscrizione: lunedì 18 dicembre 2006, 21:37
Località: Piemonte

Re: FILE DI TESTO: [scrittura su file di un testo modificato]

Messaggio da simo_magic »

flava ha scritto: non potresti darmi una mano ???
ci posso provare...ma conosco molto meglio il python sulla gestione delle stringhe e dei file...soprattutto dei file...
presuppongo quindi che hai già in un vettore "source" le stringhe da ordinare e in uno "destination" quelle in cui finiranno dopo l'ordinamento...
in pratica sono sicuro al 100% del pezzo che ordina il vettore...
il resto lo sai fare tu oppure serve una mano anche su quello?
flava
Prode Principiante
Messaggi: 70
Iscrizione: giovedì 20 aprile 2006, 17:49

Re: FILE DI TESTO: [scrittura su file di un testo modificato]

Messaggio da flava »

su lettura e scrittura su file non ho alcun problema
flava
Prode Principiante
Messaggi: 70
Iscrizione: giovedì 20 aprile 2006, 17:49

Re: FILE DI TESTO: [scrittura su file di un testo modificato]

Messaggio da flava »

se vuoi ti posto i codici delle funzioni che ho gia fatto e tu modifichi e ampli a partire da quello...cosi non parti da 0

Codice: Seleziona tutto

/* SCRITTURA FILE */

#include "Header_file.h"

/* ### INTESTAZIONE FUNZIONE ### */
void Scrittura_File (FILE *scrittura , FILE *lettura)
{
    /* ### DICHIARAZIONE VARIABILI ### */

    char carattere ;    /* variabile di tipo char per il carattere da prendere
                        dal file */


    int contatore_caratteri_stampabili = 0 ; /* il contatore viene inzialmente
                                            posto a '0' per contare a partire da
                                            questo il numero di caratteri
                                            inseriti nel file */

    int contatore_caratteri_spazi=0 ;        /* il contatore viene posto
                                            inizialmente a '0' per contare a
                                            partire da '0'. Il contatore sarà
                                            incrementato fino a fine parola.
                                            Alla fine della parola il contatore
                                            verrà azzerato */

    /* il file è stato trovato e viene visualizzato un messaggio di successo
    dell'operazione il contenuto del file a video */
    printf ("APERTURA DEL FILE AVVENUTA CON SUCCESSO!!!\n");

    /* loop di lettura del file carattere per carattere */
    do
    {
        /* la funzione getc(che appartiene alla libreria stdlib.h) legge un
        carattere alla volta nel file */
        carattere = getc ( lettura ) ;

        /* ### SCRITTURA SU FILE ### * /

        /* inizia la stampa carattere per carattere su un altro file */
        if ( ( scrittura = fopen ( "file.txt" ,"a+" ) ) == NULL )
        printf( " IL FILE NON PUO' ESSERE APERTO\n " ) ;

        /* in questo punto c'è un controllo imporantissimo da fare sul file in
        lettura : il controllo riguarda la punteggiatura e gli spazi nel file
        che dovranno essere eliminati (per gli spazi vale la stessa cosa della
        punteggiatura tranne che per quanto riguarda la fine della parola, dove
        lo spazio è fondamentale per distinguere una parola dall'altra */


        /* se il carattere letto è una lettera */
        if ( isalnum ( carattere ) )
        {

            /* viene stampato su file il carattere letto */
            fprintf ( scrittura , "%c" , carattere ) ;

            /* il contatore viene incrementato */
            contatore_caratteri_spazi++ ;
        }
        /* altrimenti, se il carattere letto non è una lettera */
        else
        {
            /* controllo il valore del puntatore, se esso è >1 vado a capo
            e leggo la prossima parola e azzero il contatore*/
            if ( contatore_caratteri_spazi )
            {
                fprintf ( scrittura , "\n" ) ;
                contatore_caratteri_spazi=0 ;
            }
        }

        /* chiusura del file in scrittura */
        fclose ( scrittura ) ;


        /*contatore dei caratteri del file*/
        contatore_caratteri_stampabili++;

    /*finchè il file non è finito*/
    } while ( carattere != EOF ) ;

    /* stampa il numero di caratteri esistente nel file scritto */
    printf ( "\nI CARATTERI TOTALI NEL FILE SONO: \n\n%d\n\n" ,
    contatore_caratteri_stampabili ) ;
}





Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 3 ospiti