zoukankan      html  css  js  c++  java
  • 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;
    } 

  • 相关阅读:
    On the fly test
    Spec Explorer 工具学习
    C# Static修饰符的作用
    [转]C#静态方法与非静态方法的比较
    如何获取网站服务器运行状态
    C#快速整理代码格式
    UI auto程序结构组织方式
    TestClass必须是public的
    VS2012如何显示行号
    Error: member names cannot be the same as their enclosing type
  • 原文地址:https://www.cnblogs.com/liujiaxin2018/p/14874368.html
Copyright © 2011-2022 走看看