Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Cancellare byte aprendo un file in modalità binaria
Forum - C/C++ - Cancellare byte aprendo un file in modalità binaria

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
xeeynamo (Normal User)
Pro


Messaggi: 66
Iscritto: 14/03/2008

Segnala al moderatore
Postato alle 10:54
Venerdì, 27/06/2008
Ciao a tutti ^.^ stò sviluppando un piccolo hex editor in C++. Ho scoperto che se si usa fseek e si va a finire su un offset più grande del file stesso, il file aumenta di dimensioni (quindi tecnicamente potrei aggiungere byte nel file). Ma se li dovessi togliere i byte? Quindi accorciare il file? Non sò se ho spiegato molto bene il mio problema XD. Comunque ho allegato il programma che stò sviluppando ;)


xeeynamo ha allegato un file: test.zip (13912 bytes)
Clicca qui per scaricare il file

Ultima modifica effettuata da xeeynamo il 27/06/2008 alle 10:59
PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 12:00
Venerdì, 27/06/2008
Hai allegato l'eseguibile e non il sorgente ... a che serve?

PM Quote
Avatar
xeeynamo (Normal User)
Pro


Messaggi: 66
Iscritto: 14/03/2008

Segnala al moderatore
Postato alle 12:16
Venerdì, 27/06/2008
Testo quotato

Postato originariamente da gantonio:

Hai allegato l'eseguibile e non il sorgente ... a che serve?



il sorgente è un pò incasinato XD ma lo posto lo stesso. Non l'avevo postato perchè non credevo che c'era bisogno per la mia richiesta. Il codice da aggiugere si trova dove stà scritto
Codice sorgente - presumibilmente C/C++

  1. case 0x2E: // CANC
  2.         // PARTE IN CUI CANCELLO IL BYTE
  3.         break;


Ultima modifica effettuata da xeeynamo il 29/06/2008 alle 14:47
PM Quote
Avatar
Amarath (Normal User)
Pro


Messaggi: 85
Iscritto: 08/05/2008

Segnala al moderatore
Postato alle 18:06
Venerdì, 27/06/2008
Se ho capito bene, intendi cancellare byte da un file. Praticamente devi mettere il carattere di fine file. So che esiste,ma non ricordo qual'è :D cmq è una combinazione tipo ctrl + c, per intenderci. Se cerchi magari trovi qualkosa

PM Quote
Avatar
xeeynamo (Normal User)
Pro


Messaggi: 66
Iscritto: 14/03/2008

Segnala al moderatore
Postato alle 19:10
Venerdì, 27/06/2008
Testo quotato

Postato originariamente da Amarath:

Se ho capito bene, intendi cancellare byte da un file. Praticamente devi mettere il carattere di fine file. So che esiste,ma non ricordo qual'è :D cmq è una combinazione tipo ctrl + c, per intenderci. Se cerchi magari trovi qualkosa



CTRL + C ti fa uscire dal programma. Cmq devo fare la stessa cosa che fa CANC in un file di testo, è quello che mi serve sapere come fare, il resto ho già tutto pronto

PM Quote
Avatar
Amarath (Normal User)
Pro


Messaggi: 85
Iscritto: 08/05/2008

Segnala al moderatore
Postato alle 17:27
Domenica, 29/06/2008
Guarda ke ho scritto X ESEMPIO ..

ero certo che mi avresti detto na cosa del genere.. Ho scritto quello per dirti che il carattere di fine testo è dato da una combinazione, ma nn ricordo quale, tutto qui...

PM Quote
Avatar
xeeynamo (Normal User)
Pro


Messaggi: 66
Iscritto: 14/03/2008

Segnala al moderatore
Postato alle 17:32
Domenica, 29/06/2008
Testo quotato

Postato originariamente da Amarath:

Guarda ke ho scritto X ESEMPIO ..

ero certo che mi avresti detto na cosa del genere.. Ho scritto quello per dirti che il carattere di fine testo è dato da una combinazione, ma nn ricordo quale, tutto qui...



ah scusa, avevo inteso male allora XD
Cmq nessuno mi sa aiutare? :( cmq ripensandoci mi servirebbe una cosa anche per aggiungere caratteri, solo che poi dovrò spostare tutto, un bel macello direi 8-|

PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 17:56
Domenica, 29/06/2008
In un file binario nessun carattere ha un significato particolare e quindi l'eof non esiste. La fine del file e' determinata dal sistema operativo solamente tramite la sua lunghezza.

Stai operando con Windows o con Linux?

PM Quote
Avatar
xeeynamo (Normal User)
Pro


Messaggi: 66
Iscritto: 14/03/2008

Segnala al moderatore
Postato alle 18:08
Domenica, 29/06/2008
Testo quotato

Postato originariamente da gantonio:

In un file binario nessun carattere ha un significato particolare e quindi l'eof non esiste. La fine del file e' determinata dal sistema operativo solamente tramite la sua lunghezza.

Stai operando con Windows o con Linux?



Il programma lo stò sviluppando per Windows e Playstation Portable. Uso le librerie stdio e opero con fopen,fseek e fclose

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo