下面是我编的一个程序,运行出来应该有100行数据(每行5个),可是当存入txt时由于main函数的for循环使得每次得出的五个数据把前一行的数据覆盖了,最后Data中输出的数据只有一行,哪位高手来帮帮忙修改修改啊,小弟在此先谢谢大家了!
#include<stdio.h>
#include<math.h>
float i,j,T,GTi,GAl,xAla,xAlb,oTiAla,oTiAlb,Gma,Gmb,R=8.314;
void WriteDat()
{
FILE *Data;
Data=fopen("Data.txt","w");
printf("%.3f\t%.3f\t%.3f\t%.3f\t%.3f\t\n",xAla,Gma,xAlb,Gmb,T);
fprintf(Data,"%.3f\t%.3f\t%.3f\t%.3f\t%.3f\t\n",xAla,Gma,xAlb,Gmb,T);
fclose(Data);
}
void main()
{
printf("Please input a number that between 0 and 3000:\n");
scanf("%f",&i);
T=273+900+i*0.1;
GTi=5758.548+38.38941*T-7.4305*T*log(T)+9.36357*0.001*T*T-1.048055*0.000001*T*T*T-525090/T;
GAl=4602-3.013*T;
for(j=1;j<=100;j++)
{
xAla=0.001*j;
xAlb=xAla;
oTiAla=(-123788.5+33.20902*T)+(16034.9-12.18272*T)*(2*xAla-1);
oTiAlb=(-117572.6+32.45153*T)+(4835.982-1.410195*T)*(2*xAlb-1);
Gma=R*T*((1-xAla)*log(1-xAla)+xAla*log(xAla))+oTiAla*xAla*(1-xAla);
Gmb=(1-xAlb)*GTi+xAlb*GAl+R*T*((1-xAlb)*log(1-xAlb)+xAlb*log(xAlb))+oTiAlb*xAlb*(1-xAlb);
WriteDat();
printf("%.3f\t%.3f\t%.3f\t%.3f\t%.3f\t\n",xAla,Gma,xAlb,Gmb,T);
}
}
C语言中,如何把数组里的数据写入文件
使用for循环语句+文件操作函数即可把数组里的数据写入文件。1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell...
c语言怎么将数据写入文件?
首先打开VC++6.0。选择文件,新建。选择C++ source file 新建一个空白文档。先声明头文件#include <stdio.h>。写上主函数 void main 主要代码 FILE *infile,*outfile,*otherfile;char input;char inputs[10];int i=0;infile = fopen("d:\\\\infile.txt","r+");\/\/用fopen函数打开文件 outfile...
C语言中,如何把数组里的数据写入文件
回答:buffer 指针,指向将要被写入的数据 size 项的大小,以字节为单位 count 项的数目 stream 文件指针 比如 将100个 int 数组写入 C:\\data.datFILE *pF;int data[100]; \/\/数组初始化代码省略
c语言如何创建文件并将结构体数据存进去
c语言如何创建文件并将结构体数据存进去?需要使用文件操作函数fwrite和fread。 读物文件并写入结构体,同时保存文件的代码如下:1、写 FILE* fp = fopen("card.dat
c语言中怎么把一个结构体数组写入文件
C语言把一个结构体数组写入文件分三步:1、以二进制写方式(wb)打开文件 2、调用写入函数fwrite()将结构体数据写入文件 3、关闭文件指针 相应的,读文件也要与之匹配:1、以二进制读方式(rb)打开文件 2、调用读文件函数fread()读取文件中的数据到结构体变量 3、关闭文件指针 参考代码如下:include<...
C语言如何写入文本文件
1、首先输入下方的代码 include <stdio.h> int main(){ \/\/下面是写数据,将数字0~9写入到data.txt文件中 FILE *fpWrite=fopen("data.txt","w");if(fpWrite==NULL){ return 0;} for(int i=0;i<10;i++)fprintf(fpWrite,"%d ",i);fclose(fpWrite);\/\/下面是读数据,将读到的数据...
C语言中如何将一个数组导入到文件中?
1 将数组以二进制方式写入文件。如 fwrite(a, sizeof(a), 1, fp);可以将数组整体以二进制方式写入文件中。2 按照元素,依次写入文件。具体写入格式与数组的类型有关。如为int数组可以写作:int i;for(i = 0; i < N; i++)fprintf("%d,", a[i]);两种方法各有优缺点:1 代码量上,第...
用C语言如何将内存中从某一地址开始的数据写入文件?
简单实现过程 char *buffer; \/\/定义个缓冲区,pt=指向开始地址 memcpy(buffer,pt,X); \/\/X里是每次读取的大小,小可以一次读入!不要比buffer大就ok File fp;\/\/写文件 fOpen();\/\/里面省了 fwirte(buffer,sizeof(char),X,fp);pt+=X;\/\/指针后移...然后循环读取,写入!判断什么时候完!呵呵!
C语言\/c++如何把数输入到txt文件中去
C语言将数输入到文件中:首先,定义一个文件指针:FILE *fp;和一个数组:int a[5];然后,打开文件:fp = fopen ("filename.txt", "w"); \/\/"w"是打开文件方式,将原有内容清空写入新数据,如果文件不存在则新建,类似的还有"r"只读打开(不能写入);"a"向文件中追加内容,原有内容不变,等等 最...
怎么把c语言编的程序的结果输入到一个文本文件中?
c语言编的程序的结果输入到一个文本文件中可以使用fprintf;例:include<stdio.h> main(){ FILE *fpt;fpt = fopen("wendangming.txt","w");\/\/打开文档,写入 fprintf(fpt,"Hello world");fclose(fpt);}