zoukankan      html  css  js  c++  java
  • c语言中在二进制文件中保存实数

    1、

    #include <stdio.h>
    
    int main(void)
    {
        FILE *fp;  // 定义指向FILE型的指针变量 
        double pi = 3.14159265358979323846;
        printf("Pi from value: %23.21f.
    ", pi);  // 直接输出变量pi的值,不等于原始变量, 这是因为浮点数的精度是有限的
        
        
        //利用fwrite函数将变量pi的值写入到二进制文件中。
        if((fp = fopen("PI.bin", "wb")) == NULL) // 以只写入的方式打开文件PI.bin. 
             printf("aFile open failed.
    ");
        else
        {
            fwrite(&pi, sizeof(double), 1, fp);// 利用fwrite函数将变量pi的值写入到流fp中(文件PI.bin)中 
            fclose(fp);
        }
        
        
        //利用fread函数读取二进制文件PI.bin的值,保存至变量中,并进行显示
        if((fp = fopen("PI.bin", "rb")) ==     NULL)// 以只读方式打开PI.bin 
            printf("aFile open failed.
    ");
        else
        {
            fread(&pi, sizeof(double), 1, fp);  // 利用fread函数读取fp流中的数据,并保存至变量pi 
            printf("Pi from file: %23.21f.
    ", pi); // 显示pi的值, 此时显示的pi的值和直接显示的pi变量的值是一致的,这说明变量在保存和输出过程中没有发生
            //任何变化(在浮点数可以显示的精度范围内) 
            fclose(fp);    
        } 
        return 0;    
    } 
    
    // 以上程序说明了什么?  以二进制的方式保存变量的值,可以保存所有的位数 

    #include <stdio.h>
    
    int main(void)
    {
        FILE *fp;  //声明指向FILE型的指针变量 
        double pi = 3.14159265358979323846;
        printf("pi from value: %23.21f.
    ", pi); //直接输出变量的值,与原始变量不一致,这是因为浮点数的精度有限
        
        
        //利用fwrite函数将变量pi的值写入到二进制文件PI.bin中。
        if((fp = fopen("PI.bin", "wb")) == NULL) // 以只写的方式打开文件
            printf("aFile open failed.
    ");
        else
        {
            fwrite(&pi, sizeof(double), 1, fp);//利用fwrite函数将变量pi的值写入到fp流(二进制文件PI.bin中) 
            fclose(fp);    
        } 
        
        
        //利用fread函数读取二进制文件PI.bin中的值,保存至变量并进行显示
        if((fp = fopen("PI.bin", "rb")) == NULL) //以只读的方式打开二进制文件 
            printf("aFile open failed.
    ");
        else
        {
            fread(&pi, sizeof(double), 1, fp);  //利用fread函数读取fp流的数值,并保存至变量pi中 
            printf("pi from file: %23.21f.
    ", pi); // 输出pi的值, 和程序开头直接输出变量的值一致,说明将实数保存在二进制文件中,可以保存所有的位 
            fclose(fp);    
        } 
        return 0;
    }

  • 相关阅读:
    在状态栏中显示鼠标坐标
    为网页设置背景音乐
    将RGB格式的颜色值转换为十六进制格式
    随机产生指定位数的验证码
    树状导航菜单
    ionic入门教程第一课环境搭建和新建ionic项目
    (一)hbase搭建
    数据库的三个范式
    Sql 用于创建表、存储过程、触发器、标量函数的代码
    通过树形结构在控制台显示XML文档的全部内容
  • 原文地址:https://www.cnblogs.com/liujiaxin2018/p/14867850.html
Copyright © 2011-2022 走看看