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

    C++ scrivere/leggere double su file

    Buongiorno a tutti.

    Vorrei gentilmente domandare come leggere/scrivere dati double da/su file.

    Ho provato il seguente codice:

    codice:
    #include "stdio.h"
    #include <math.h>
    
    int main()
    {
    	double a = 0.123456789;
    	FILE* fid;
    
    	fid = fopen("double.dat", "w");
    	fprintf(fid, "%10lf\n", a);
    	fclose(fid);
    
    	return 0;
    }
    Quando lo faccio girare, trovo un file 'double.dat', il cui contenuto e' il seguente:

    0.1234567

    Ovvero, tratta la variabile a come se fosse un float piuttosto che un double. Dove sbaglio?
    che cosa devo fare per scrivere tutte e 10 le cifre?


    Grazie mille per l'aiuto.
    Panecasareccio.

  2. #2
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Dovresti usare qualcosa di simile a %.10f.
    Per gli Spartani e Sparta usa spartan Il mio github

  3. #3
    Originariamente inviato da linoma
    Dovresti usare qualcosa di simile a %.10f.
    Ciao Linoma, grazie per la risposta.

    Ho provato anche con LF, ma non funziona...



    Panecasareccio

  4. #4
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    A me funziona %.10f
    Per gli Spartani e Sparta usa spartan Il mio github

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Fai attenzione ... linoma ti ha suggerito

    %.10f

    al posto del tuo

    %10lf

    e la differenza fondamentale è quel punto prima del 10
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.