Oppure

Loading
13/03/08 22:14
ciao
stavo facendo un programma che ha bisogno di alcuni file esterni, ma cè il pericolo che qualcuno elimini i file esterni senza sapere che siano necessari al programma
mi chiedevo se è possibile mettere questi file dentro il file exe del programma, in modo che sia tutto un file unico
si puo?
Ultima modifica effettuata da 13/03/08 22:18
14/03/08 13:48
Dark_Limit
Ciao..si può mettere aprendo il file che andrai a metere in formato binario ( e ovviamente anche l'exe) leggere il flusso e metterlo dentro l'eseguibile..:k:
aaa
14/03/08 15:11
come si fa ?
14/03/08 15:26
Dark_Limit
Prova con questo(perdonami eventuali errori,lo sto facendo a memoria):
#include<fsteram.h>
#include<iostream.h>

ifstream ifs ( "file.txt" , ifstream::out | ifstream::binary );  // file da inserire
ofstream out("eseguibile.exe",ifstream::in|ifstream::binary);  // eseguibile

while (in.good())
    out << (char) in.get();

  in.close();



:k:
aaa
14/03/08 17:15
ho provato
il programma gira ma il file exe rimane grande uguale
io ho messo questo codice
int main()
{
ifstream in ( "budterence.mp3" ,  ifstream::out | ifstream::binary );  // file da inserire

ofstream out("prova.exe",ifstream::in | ifstream::binary);  // eseguibile

while (in.good())
    out << (char) in.get();

  in.close();
}

ma poi per poter usare il file che ho messo nel exe come faccio a richiamarlo ? faccio come se fosse nella stessa cartella ?
14/03/08 20:37
gantonio
Ma no ... non si fa cosi' ...

Semmai devi includere il tuo file binario come "risorsa" (tramite un gestore di risorse) (e' ottimo quello di Visual Studio e Visual C++ ...).

Le risorse sono inserite in un file .res che e' "incorporato" nell'exe dal linker ... quando e' necessario, la risorsa viene "letta" dall'exe e scritta in una cartella temporanea da dove viene usata (ad esempio un file mp3).

Per l'inclusione, lettura ed uso delle risorse, studia come fa Visual Studio ...
aaa
17/03/08 21:03
ho provato e sono riuscito ad includerlo come risorsa, non so come verificarlo esattamente ma ho visto che il file exe è piu grande
ho cercato il modo per usare la risorsa ma non l'ho trovato, e cosa devo fare con il codice che mi hai dato ? scusa ma non ho capito