[RISOLTO]file binario, i char sono indipendenti dalla ...

di
Anonimizzato11579
il
13 risposte

[RISOLTO]file binario, i char sono indipendenti dalla ...

File binario, i char sono indipendenti dalla piattaforma?

Salve so che nello scrivere i file binari
ci possono essere poi diverse codifice
per l'OS che legge il file binario poi....

Il mio programma deve andare solo su windows e devo scrivere un
vettore di unsigned char (perchè i valori vanno da 0 a 100), posso scriverlo
in modalità binaria senza problemi o su certe versioni di windows
i unsigned char sono letti in altre modifiche strane?

Grazie mille..

13 Risposte

  • Re: [RISOLTO]file binario, i char sono indipendenti dalla ...

    Dipende dal contesto ... che devi fare con quei 100 caratteri?
  • Re: [RISOLTO]file binario, i char sono indipendenti dalla ...

    Il file che uso adesso è così fatto, è molto grande e contiene float con tre cifre dopo la virgola:
    
    0.004;0.004;0.004;0.004;0.004;0.008;0.008;0.008;0.008;
    
    inizialmente ho pensato di poter salvare il tutto come char perchè pensavo fossero 2 le cifre dopo la virgola e bastava moltiplicare per 100, quindi ci stava in un char... devo usarno due oppure uno short.....

    Il contesto è questo:

    siccome devo caricare questi numeri in un altro programma, e il file è molto grande (13 mega), volevo provare a velocizzare il tutto salvando il file in modalità binaria però mi serve che funzioni su qualunque computer che abbia windows...
  • Re: [RISOLTO]file binario, i char sono indipendenti dalla ...

    Generalmente i dati binari vengono scritti nella forma nativa della cpu, e non centra nulla il sistema operativo.

    Al momento mac, linux e windows con cui avrai a che fare usano cpu intel, quindi verra' usata la codifica 'little endian', cioe' i byte bassi prima. La stessa per tutte le piattaforme

    Nel tuo caso, puoi anche salvare il float direttamente. 13 mb di dati sono bruscolini per i computer di oggi.

    Solo se lo devi usare su cellulari o tablet o piattaforme piu' esotiche, potrebbe valere la pena fare qualche considerazione in piu'. Ma certamente non ora.
  • Re: [RISOLTO]file binario, i char sono indipendenti dalla ...

    Quindi i computer d'oggi usano tutti la stessa codifica e si può tranquillamente salvare il tutto in binario?
    in questo caso ok, grazie mille:)
  • Re: [RISOLTO]file binario, i char sono indipendenti dalla ...

    Un attimo ... tu salvi i valori floating point nella loro rappresentazione binaria o in ASCII (con il ; tra uno e l'altro)?
  • Re: [RISOLTO]file binario, i char sono indipendenti dalla ...

    Adesso li salvo ascii, ma volevo passare ad una versione binaria così non serve più il carattere ';' per separare i valori perchè ogni 4 byte ho un float ed è più veloce la lettura...
  • Re: [RISOLTO]file binario, i char sono indipendenti dalla ...

    Se usi la rappresentazione binaria va bene, sarà più veloce e compatibile.
  • Re: [RISOLTO]file binario, i char sono indipendenti dalla ...

    Quindi non ho capito: sarà compatibile su tuttissimi i computer?

    se io salvo in questa maniera:
    
    ofstream outbin("miofile.bin", ios::out | ios::binary);
    float a = 2.2f;
    outbin.write( (char*)(&a), sizeof(a));
    outbin.close();
    
  • Re: [RISOLTO]file binario, i char sono indipendenti dalla ...

    Non su "tuttissimi" (ma che preoccupazioni hai?) ... su Windows/Intel sì.
  • Re: [RISOLTO]file binario, i char sono indipendenti dalla ...

    Perchè dovrebbe andare più o meno su un po di computer insomma:)

    adesso non vorrei dire una stupidata ma:

    anche su amd funziona? XD
  • Re: [RISOLTO]file binario, i char sono indipendenti dalla ...

    Ma sì ... Intel/AMD ...

    In ogni caso il tuo è un falso problema ... se devi lavorare con vari sistemi Windows non ci sono problemi.

    E se vuoi una compatibilità estrema allora lascia i dati in ASCII ... li leggeranno tutti ad una velocità comunque accettabile.
  • Re: [RISOLTO]file binario, i char sono indipendenti dalla ...

    Grazie mille dell'aiuto, devo mettere risolto o cancellare il post?
  • Re: [RISOLTO]file binario, i char sono indipendenti dalla ...

    Se tutti cancellassero i thread, il forum sarebbe vuoto ...
Devi accedere o registrarti per scrivere nel forum
13 risposte