C语言从txt文档中读出数据只保留四位小数存入新的文档,程序有误求指点

#include<stdio.h>#include"windows.h"intmain(){doubles=0;doublem=0;FILE*fp;fp=fopen("e... #include<stdio.h>
#include "windows.h"
int main()
{
double s=0;
double m=0;
FILE *fp;
fp =fopen("e:\\a.txt","r");
FILE *fp1;
fp1=fopen("e:\\b.txt","w+");
while(!feof(fp))
{
fscanf(fp,"%lf",&s);
printf("%.4lf\n",s);
m=s;
fprintf(fp1,"%.4lf",&m);
};
fclose(fp);
return 0;
}

以下是名字为a的txt文档数据:
116.357003333333
116.357005
116.357005
116.357021666667
116.357078333333
116.357171666667
展开
 我来答
cjj796
2013-10-21 · TA获得超过8709个赞
知道大有可为答主
回答量:1.3万
采纳率:68%
帮助的人:3458万
展开全部

你好!!

  fprintf(fp1,"%.4lf",m);   // 保存的时候,不要取地址符号

还有一个情况,你是不是也要txt文件有换行呢?

  fprintf(fp1,"%.4lf\n",m);   // 保存的时候,要换行,加上 \n

完整的代码:

#include<stdio.h> 
#include "windows.h"
int main()
{
 double s=0;
 double m=0;
 FILE *fp;
 fp =fopen("e:\\a.txt","r");
 FILE *fp1;
 fp1=fopen("e:\\b.txt","w+");
  while(!feof(fp)) 
 {
  fscanf(fp,"%lf",&s);   
  printf("%.4lf\n",s);   
  m=s;
  fprintf(fp1,"%.4lf\n",m);   // 保存的时候,不要取地址符号 
  };
 fclose(fp);
 return 0; 
}
更多追问追答
追问
只去掉了个取地址符号吗,新生成的b  txt文档还是空的呀
追答
不是空的呀,看我给你的截图,文件在你的 E盘根目录下
百度网友a5eb3e1
2013-10-21 · TA获得超过4448个赞
知道大有可为答主
回答量:3486
采纳率:60%
帮助的人:2652万
展开全部
 fprintf(fp1,"%.4lf",m);  // <--- &m 的 & 去掉。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式