Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2014
    Messaggi
    10

    [C++] modifica di un file binario

    Ciao a tutti.
    Ho realizzato un programma in C++ che, per varie esigenze, modifica un file binario chiamato "DEFAULT.prog". La modifica avviene in questo modo:

    codice:
    ofstream file;
    
    file.open("data/DEFAULT.prog", ios::binary);
    
    file.write((char*)&rec.classica, sizeof(int));
    file.write((char*)&rec.bonus, sizeof(int));
    file.write((char*)&rec.arcade, sizeof(int));
    file.write((char*)&rec.puntitot, sizeof(int));
    file.write((char*)&rec.livello, sizeof(int));
    file.write((char*)&sel_sfondo, sizeof(int));
    file.write((char*)&sel_spada, sizeof(int));
    file.write((char*)&musica_attiva, sizeof(bool));
    
    file.close();
    Il programma funziona benissimo. Oggi ho creato un installer per questa applicazione, utilizzando Inno setup 5.4. Se installo il programma e lancio l'eseguibile che crea il setup, questo non modifica più il file cosa può essere?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Dove viene installato l'eseguibile? Dalla cartella in cui risiede riesce a raggiungere la cartella data?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Sicuro che non ti servano i privilegi d'amministratore per modificare quel file?
    In generale dovresti usare le cartelle dedicate ai dati delle applicazioni: http://windows.microsoft.com/it-it/w...appdata-folder
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2014
    Messaggi
    10
    Già hai ragione.. in effetti la il file è posizionato nella cartella di installazione, cioè in "C:\Programmi (x86)\ecc". Mi sono visto le cartelle dedicate ai dati delle applicazioni e ho provato a posizionarlo in Roaming e funziona, riesco a leggere e a scrivere il file
    Però non riesco a trovare come fare per installarlo lì con Inno setup... ho provato a cercare un po' in giro ma non trovo nulla!
    Mi sapreste dire qual' è la costante che si riferisce a quella directory?? Io ho trovato {userappdata} e {commonappdata}, ma in realtà si riferiscono a altre directory. Quella che serve a me è "C:\Users\Utente\AppData\Roaming".

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2014
    Messaggi
    10
    No invce era proprio {commonappdata}
    tutto risolto, ora funziona alla perfezione! Grazie

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.