Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    45

    [C] Modifica File Ascii

    Ciao, desideravo sapere se è corretto effettuare modifiche ad un file ascii nel modo seguente:
    1) Ricerco la voce da modificare (ad esempio un cognome) per mezzo di fscanf prelevo il cognome trovato

    2)Faccio digitare all'utente il cognome modificato utilizzando scanf con il cognome appena prelevato

    3)Faccio una fprintf del cognome acquisito da tastiera in modo da sovrascrivere quello precedente.

    In definitiva dunque faccio: RICERCA - ESTRAZIONE -SOVRASCRITTURA.

    Grazie anticipatamente.
    ivanet

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [C] Modifica File Ascii

    Originariamente inviato da ivanet
    In definitiva dunque faccio: RICERCA - ESTRAZIONE -SOVRASCRITTURA.
    Dipende da come è fatto il file ....
    Se fossero righe di testo della stessa lunghezza (es. un record formattato sempre di una certa lunghezza) allora sì, altrimenti no, non direttamente ma solo riscrivendo per intero il file.
    Non si possono aggiungere/eliminare fisicamente dei byte all'inizio o in mezzo a un file. Questa è una di quelle "verità" che tutti dovrebbero sapere.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    45
    Infatti, in un precedente file però binario, è risultato abbastanza intuitivo lavorare calcolando i byte e sovrascrivendo quanto effettivamente era grande la struttura da memorizzare.

    Dunque un elenco di nominativi (dunque vettori di caratteri tutti di grandezza eguale) comporterebbero una memorizzazione nel file di record eguali e dunque con possibilità di sovrascriverli?

    E se organizzassi il record in una struttura sarebbe nel complesso un blocco di byte eguale..dunque....

    In attesa della risposta proverò ad implementare qualche esempio in modo da rendermi conto se vi sono alcune problematiche di realizzazione.....

    Grazie.
    ivanet

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    45
    Ciao, ho ristrutturato il codice in modo da effettuare cancellazione e modifica nel modo seguente:

    MODIFICA
    1) Utilizzo di un file temporaneo dove copio tutte le voci tranne quello che devo modificare
    2)Scrittura del vecchio file in modalita "w" copiando le voci del file temporaneo
    3)Apertura del flusso per il primo file in modalità "a" ed aggiunta della nuova voce modificata
    4)Cancello il contenuto del file temporaneo

    CANCELLAZIONE
    Come modifica solo che non effettuo il punto 3)

    Adesso rimane un solo problema, quello di cancellare proprio il file temporaneo anche se vuoto, esiste qualche funzione che mi permette di effettuare questa operazione?

    Grazie anticipatamente.
    ivanet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.