Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [C++]Urgentissimo: scrittura di un byte in un file binario.

    Salve a tutti, ho bisogno di scrivere dei byte su un file binario.
    Ho dichiarato il seguente tipo:

    typedef unsigned char byte;

    Nella funzione dichiaro

    byte bcar;

    Poi ho creato una funzione per trasformare i numeri da decimale a binario e viceversa.
    Quindi avendo un numero binario di questo genere:
    "10000000"
    viene trasformato in
    128
    quindi
    bcar=128; //corrisponde al carattere nella tabella ascii posizione 128
    A questo punto devo scrivere talune byte all'interno di un file binario. Come faccio?
    Ho provato a fare così:

    fstream file;
    file.open(nomefile,ios::binary);
    file.write(car,1);
    file.close();

    Ma mi dice che la conversione è impossibile. Come faccio? Grazie.

  2. #2
    La write si aspetta un puntatore a char, non un char e basta (serve per poter scrivere a blocchi); a te basta semplicemente scrivere:
    codice:
    file.write((char*)&car, 1);
    o più semplicemente,
    codice:
    file.put(car);
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Oook ha fungiuto grazie 1k

  4. #4
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296

    Moderazione

    Originariamente inviato da nostradamus1915
    [C++]Urgentissimo: scrittura di un byte in un file binario.
    In futuro, evita l'indicazione di urgentissimo nel titolo, poiché le discussioni in questo forum hanno tutte la stessa urgenza per definizione.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  6. #6
    Ho messo urgentissimo perché dovevo consegnare una tesina in giornata

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.