c语言中向文本文件中写入实数
1、
#include <stdio.h> int main(void) { FILE *fp; // 声明指向FILE型的指针变量 double pi = 3.14159265358979323846; //声明 double型变量 printf("pi from value: %23.21f.\n", pi); //显示变量pi的值,因为浮点数的精度是有限的,导致pi的值不等于初始值。 //将变量pi的值使用fprintf函数写入到文件中 if((fp = fopen("PI.txt", "w")) == NULL) //以只写的方式打开文件PI.txt. printf("\aFile open failed.\n"); 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.\n"); else { fscanf(fp, "%lf", &pi); printf("Pi from file: %23.21f.\n", pi); // 次数并没有准确的显示文件PI.txt中的数值,也就是小数点后六位,这是因为double型并不能毫无误差地显示实数 //的所有位数。 fclose(fp); } return 0; } // 以上程序说明了什么? 1、浮点数精度有限 2、fprintf函数不能够写入所有的位数 3、double型并不能毫无误差地显示实数 // 要做到不丢失任何一位数据(写入文件的时候不丢失任何数据),就必须写入所有位数。 也就是说能够写入所有位数? 然后完整的显示?
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律