用C语言编程,将文本文件123.txt中的数字乘以2输出到另一个文本文件中
我才刚学C++啊,但是这个程序又很急着要,大家快帮帮忙,我真的不知道错在哪里,或者大神提供一个新程序也可#include"stdio.h"#include"stdlib....
我才刚学C++啊,但是这个程序又很急着要,大家快帮帮忙,我真的不知道错在哪里,或者大神提供一个新程序也可
#include "stdio.h"
#include "stdlib.h"
void main()
{ FILE *fp1,*fp2;
float ch;
if((fp1=fopen("123.txt","r"))==NULL)
{
printf("error on open fp1!\n");
exit(0);
}
if((fp2=fopen("124.txt","w"))==NULL)
{
printf("error on open fp2!\n");
exit(0);
}
while(!feof(fp1))
{
fscanf(fp1,"%f",&ch);
ch=ch*2;
fprintf(fp2,"%f",ch);
}
fclose(fp1);
fclose(fp2);
} 展开
#include "stdio.h"
#include "stdlib.h"
void main()
{ FILE *fp1,*fp2;
float ch;
if((fp1=fopen("123.txt","r"))==NULL)
{
printf("error on open fp1!\n");
exit(0);
}
if((fp2=fopen("124.txt","w"))==NULL)
{
printf("error on open fp2!\n");
exit(0);
}
while(!feof(fp1))
{
fscanf(fp1,"%f",&ch);
ch=ch*2;
fprintf(fp2,"%f",ch);
}
fclose(fp1);
fclose(fp2);
} 展开
2个回答
展开全部
#include "stdio.h"
#include "stdlib.h"
void main()
{
FILE *fp1,*fp2;
double ch; //定义成double才能读取较大的数据
if((fp1=fopen("123.txt","r"))==NULL)
{
printf("error on open fp1!\n");
exit(0);
}
if((fp2=fopen("124.txt","w"))==NULL)
{
printf("error on open fp2!\n");
exit(0);
}
while(!feof(fp1))
{
//double 对应%lf
if ( fscanf(fp1,"%lf",&ch) != 1 ) //当读完数据时,就退出循环,因为只有先读才能确定是否到了文件尾
break ;
ch=ch*2;
fprintf(fp2,"%lf ",ch); //加个空格才能正确区分出来结果数据
}
fclose(fp1);
fclose(fp2);
}
如有其他问题,请明确给出错误描述
更多追问追答
追问
这个程序直接Run就是可以运行出来的吗,为什么到我的电脑上还是不行
追答
这是程序源代码,你需要有一个编译工具,如:VC VS DEVC++ TC CFREE CODEBLOCkS等,然后选择编译、运行,才可以!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询