Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    97

    [C] Inserire un carattere in un file di testo.

    Ciao a tutti,
    ho un problema a cui non ho ancora trovato una soluzione.
    Ho un file di testo e vorrei modificarne il contenuto.

    Per semplificare il problema diciamo che cio` che desidererei e` inserire uno piu`carattei a circa meta` file.
    tramite fgets(), ftell() fput() fprintf() riesco a centrare il punto esatto nel file, il problema e` che aggiungere uno o piu` caratteri corrisponde a sovrascrivere quelli gia` esistenti.

    Vorrei evitare di dover riscrivere il file con l` aggiunta del carattere desiderato, perche`, supponiamo di dover aggiungere a 1000 files di testo della grandezza i qualche MByte un semplice carattere, il dover riscrivere completamentei 1000 files di testo implicherebbe un notevole consumo di tempo.

    C`e' un modo per creare uno "spazio" nel file ?




    Grazie a tutti...

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    156
    non che io sappia.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    97
    In effetti temo pure non si possa, ogni carattere risiede in una locazione di memoria e non credo sia possibile fare uno shift ad una determinata zona.
    Per giunta non e` detto che tali locazioni siano adiacenti...
    Pero` chissa`, qualcuno potrebbe aver trovato anche una scappatoia...

    Grazie comunque per la risposta....

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Originariamente inviato da Trader
    Pero` chissa`, qualcuno potrebbe aver trovato anche una scappatoia...
    No. È una cosa che ho già ribadito più volte sul forum. Non esiste alcuna funzione per inserire/cancellare fisicamente dei dati in mezzo al file in modo che i dati seguenti si "spostino" in avanti o indietro. Questo vale per qualunque linguaggio e qualunque S.O.

    I dati su un file:
    - o si sovrascrivono
    - o si accodano al fondo del file.

    punto.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  5. #5
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,565
    ergo, l'unica soluzione è riscrivere l'intero file stesso.
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    97
    Grazie a tutti per la risposta....

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 © 2024 vBulletin Solutions, Inc. All rights reserved.