zoukankan      html  css  js  c++  java
  • c语言中向文本文件中写入实数

    1、

    #include <stdio.h>
    
    int main(void)
    {
        FILE *fp;  // 声明指向FILE型的指针变量 
        double pi = 3.14159265358979323846;   //声明 double型变量 
        printf("pi from value: %23.21f.
    ", pi); //显示变量pi的值,因为浮点数的精度是有限的,导致pi的值不等于初始值。
        
        
        //将变量pi的值使用fprintf函数写入到文件中
        if((fp = fopen("PI.txt", "w")) == NULL) //以只写的方式打开文件PI.txt.
            printf("aFile open failed.
    ");
        else
        {
            fprintf(fp, "%lf", pi); //使用fprintf函数将变量pi的值写入到流fp(文件PI.txt)中,文件PI.txt中仅保留小数点后6位小数,这是因为浮点数默认只输出
            //小数点后6位数字 
            fclose(fp);    
        } 
        
        
        //从PI.txt文件中读取数据,使用函数fscanf函数保存至变量中并显示
        if((fp = fopen("PI.txt","r")) == NULL) //以只读方式打开文件
            printf("aFile open failed.
    ");
        else
        {
            fscanf(fp, "%lf", &pi);
            printf("Pi from file: %23.21f.
    ", pi); // 次数并没有准确的显示文件PI.txt中的数值,也就是小数点后六位,这是因为double型并不能毫无误差地显示实数
            //的所有位数。 
            fclose(fp);    
        } 
        return 0;    
    } 
    
    // 以上程序说明了什么?    1、浮点数精度有限  2、fprintf函数不能够写入所有的位数  3、double型并不能毫无误差地显示实数
    
    // 要做到不丢失任何一位数据(写入文件的时候不丢失任何数据),就必须写入所有位数。  也就是说能够写入所有位数? 然后完整的显示?  
     

  • 相关阅读:
    做报表,写Sql语句的一点收获
    ORACLE PL/SQ入门
    用Visual C#实现P2P应用程序
    css资源网站收集推荐
    Ubuntu 蓝牙全攻略
    Asp.Net细节性问题技巧精萃
    Asp.net Request获取服务器变量的方法
    如何将flash插入到Excel文件中
    XP远程桌面连接强制登录
    flash研究(三)——Falsh与JavaScript交互
  • 原文地址:https://www.cnblogs.com/liujiaxin2018/p/14867732.html
Copyright © 2011-2022 走看看