Aiuto programma qt[c++]

di il
4 risposte

Aiuto programma qt[c++]

Salve a tutti Sono nuovo del forum , cmq volevo chiedervi cortesemente di risolvermi 2 problemi :
1)Ho creato una struct e dopo averla istanziata avrei bisogno di scriverla in un file , non spezzettando ogni singolo parametro , ma immettendola in un "colpo solo" dentro il file, in maniera tale che quando dovrò ricercare il prodotto cercherò il record corrispondente. Ho utilizzato il seguente codice per effettuare ciò :
   QFile file(file_path);
    file.open(QIODevice::WriteOnly);
    file.write((char*) &prodotto, sizeof(Merce));
    file.close();
dove merce è la struttura precedentemente creata e "prodotto " la sua istanza.
il mio problema sorge all'apertura del file , in quanto ciò che esce fuori dal file.write(..) è :
    Äÿ(    jþ( ˜˜ ˆþ( œ-jP}˜        ÕŒêvØŽ³˜˜ —˜ 
o comunque dei caratteri molto strani.
2)Il secondo problema è che devo gestire i prodotti (record all'interno di un file) attraverso un b-tree "montato" su un altro file, ecco certamente non vi chiedo di scrivermi il programma , ma di illuminarmi su come poter iniziare questa parte, ovvero su come costruire il btree e come poterlo utilizzare , se potreste farmi degli esempi anche con parti di codice ne sarei lieto. Grazie

4 Risposte

  • Re: Aiuto programma qt[c++]

    
    file.write((char*) &prodotto, sizeof(Merce));
    
    converti una struttura in char * e pretendi che sia leggibile? devi vedere se QFile scrive in unicode oppure ANSI.
  • Re: Aiuto programma qt[c++]

    E come potrei evitare di incappare in tale errore? non ho la minima idea di che comando utilizzare per scrivere la struttura
  • Re: Aiuto programma qt[c++]

    Non so perche stai usando le librerie QT quando lo sandard C++ ha delle classi iostream per fare tutto ciò. In QT non so aiutarti. Leggi la doumentazione del header <QFile> magari trovi qualcosa.
    Per quanto riguarda la seconda domanda se usi un std::map hai già una btree creata.
  • Re: Aiuto programma qt[c++]

    Grazie ora ci provo
Devi accedere o registrarti per scrivere nel forum
4 risposte