• c语言中向文本文件、二进制文件中写入实数


    c语言向文本文件、二进制文件中写入实数。

    1、

    #include <stdio.h>
    
    int main(void)
    {
        FILE *fp;
        double pi = 3.14159265358979323846;
        printf("pi from value: %23.21f.
    ", pi);  // 因为浮点数精度有限,不能准确显示数值
        
        if((fp = fopen("PI.txt", "w")) == NULL)
            printf("aFile open failed.
    ");
        else
        {
            fprintf(fp, "%f", pi);   // fprintf写入文件,默认保留6位有效小数
            fclose(fp);
        }
        
        if((fp = fopen("PI.txt", "r")) == NULL)
            printf("aFile open failed.
    ");
        else
        {
            fscanf(fp, "%lf", &pi);
            printf("pi from file: %23.21f.
    ", pi);  // double型不能准确无误的显示所有位数
            fclose(fp);
        }
        return 0;
    }

    2、

    #include <stdio.h>
    
    int main(void)
    {
        FILE *fp;
        double pi = 3.14159265358979323846;
        printf("pi from value: %23.21f.
    ", pi); // 因为浮点数的精度有限,与变量值不一致 
        
        if((fp = fopen("PI.bin", "w")) == NULL)
            printf("aFile open failed.
    ");  
        else
        {
            fwrite(&pi, sizeof(double), 1, fp);  // 将变量pi以二进制形式写入文件 
            fclose(fp);    
        }    
        
        if((fp = fopen("PI.bin", "r")) == NULL)
            printf("aFile open failed.
    ");
        else
        {
            fread(&pi, sizeof(double), 1, fp);  //以二进制形式读取文件 
            printf("pi from file: %23.21f.
    ", pi); // 显示变量,变量和写入的变量没有差异, 
            fclose(fp);    
        } 
        return 0;
    } 

  • 相关阅读:
    面向对象介绍
    常用模块2
    常用模块1
    常用模块3
    模块导入以及常用模块
    模块介绍
    Astra: Apache Cassandra的未来是云原生
    麦格理银行借助DataStax Enterprise (DSE) 驱动数字化转型
    Apache Cassandra使用报告2020
    比较Apache Cassandra的压力测试工具
  • 原文地址:https://www.cnblogs.com/liujiaxin2018/p/14874368.html
Copyright © 2020-2023  润新知