Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    53

    [c++] file ad accesso random come visual basic

    Ciao a tutti. In visual basic si possono scrivere file Openmode.random, ci sono le funzioni fileput (record) 'dove record è una structure, e fileget (record, pos). Bene in c++ è possibile fare qualcosa di analogo? sfruttando fstream (quindi senza File* F, che è pure C). Perché ios non contiene un accesso random o qualcosa di simile, ma esistone le funzioni tellp e seek, che però permettono di spostarsi di byte. Inizialmente avevo provato con on overloading di operator << per poter scrivere un buffer di byte.

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    53
    come non detto, sono stato troppo precipitoso a chiedere. Appenda dopo aver postato la domanda ho trovato la mia risp!
    codice:
    //scrittura:
        fstream file ("PROVA.txt", ios::out| ios::binary);
        RecArt.cod = 1;
        RecArt.descr = "ACCCC";
        RecArt.prezzo = 16.20;
        RecArt.qta = 14;
        RecArt.scorta = 4;
        file.write (reinterpret_cast<char*>(&RecArt), sizeof(RecArt));
    ..
    
    //lettura:
        fstream file ("PROVA.txt", ios::out| ios::binary);
        file.seekg (pos * sizeof(RecArt), ios::beg);
        file.read(reinterpret_cast<char*>(&RecArt), sizeof(RecArt));
    //mostra recart
    Avevo fatto tutto giusto, ma mi dava errore nel cast "semplice", mentre con reinterpret_cast va che è una meraviglia. Grazie lo stesso. Discussione chiusa

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.