Cancellazione dati file esterno

di il
1 risposte

Cancellazione dati file esterno

Ciao a tutti,
in pratica sto creando uno srcipt iterativo che necessita la scrittura di alcuni dati su dei file esterni di tipo txt.
Vorrei alla fine di ogni iterazione poter cancellare il contenuto di questi file in modo semplice. Anche cancellare il file stesso se possibile, am preferirei evitare
Qualcuno sa come fare?

Grazie a tutti

1 Risposte

  • Re: Cancellazione dati file esterno

    Per cancellare il contenuto di un file è sufficiente (ma, di conseguenza, tanto semplice quanto pericoloso) aprirlo in scrittura (non in modalità append) e, subito dopo chiuderlo.

    Se il file era aperto perchè vi si stava scrivendo, occorre prima chiuderlo (per poterlo quindi riaprire)

    ATTENZIONE, QUESTA PROCEDURA NON E' REVERSIBILE

    Nello script che segue:
    [*] una serie di numeri vengono scritti in un file di testo
    [*] il suo contenuto viene stampato a video (ma si può settare un breakpoint e verificare direttamente il file)
    [*] il contenuto del file viene cancellato chiamando in sequenza le funzioni fopen (per aprirlo in scrittura) e fclose per chiuderlo
    [*] a riprova del fatto che il contenuto del file è stato il suo contenuto (nullo) viene stampato a video

    In questo modo il file non viene cancellato

    Per cancellare effettivamente il file si può usare la funzione delete (l'help di MatLab spiega come definire se il file debba esser spostato nel "cestino" od eliminato definitivamente).
    
    %
    % Generazione dei dati di esempio da scriver nel file di testo
    % 
    a=rand(5,5);
    [n_row,n_col]=size(a);
    % 
    % Apertura del file per la scrittura dei dati
    % 
    fp=fopen('contenuto_da_cancellare.txt','wt');
    % 
    % Definizione del "format"
    % 
    fmt='%f\t';
    fmt=repmat(fmt,1,n_col);
    % 
    % Loop per la scrittura del file do testo
    % 
    for i=1:n_row
       fprintf(fp,[fmt '\n'],a(i,:));
    end
    % 
    % Chiusira del file di testo
    % 
    fclose(fp);
    % 
    % Il contenuto del file di testo viene stampato a schermo Per verificare il
    % funzionamento dello script si può inerire un breakpoint alla prossima
    % istruzione e vrificare direttamente il contenuto del file
    % 
    disp('*****************************')
    disp('* Contenuto dei file        *')
    disp('* PRIMA della cancellazione *')
    disp('*****************************')
    
    type contenuto_da_cancellare.txt
    % 
    % Apertura e chiusura del file precedentemente creato Non essendo stato
    % apeto in modalità "append" il contenuto del file viene cancellato
    % 
    fp=fopen('contenuto_da_cancellare.txt','wt');
    fclose(fp);
    % 
    % Verifica della cancellazinoe del contenuto del file di di teto dopo la
    % cancellazione del suo contenuto
    % 
    disp('****************************')
    disp('* Contenuto dei file       *')
    disp('* DOPO della cancellazione *')
    disp('****************************')
    %
    type contenuto_da_cancellare.txt
    
    Hope this helps.
Devi accedere o registrarti per scrivere nel forum
1 risposte