c语言程序读txt文本,有程序没有文本,如何根据程序写文本?谢谢

struct jd

{

int num,s;

double p,q,S,e,f,U,zkj,dp,dq,du,de,df;

} jd[M];

struct zhl

{

int numb;

int p1,p2;

double r,x;

} zhl[M];
FILE *fp1,*fp2;

/* 读取数据 /
void data()

{
int h,number;
fp1=fopen("input.txt","r"); /
以只读的方式打开input.text文件*/
if(fp1==NULL) /*判断input.text是否打开*/
{
printf(" can not open file !\n");
exit(0);
}
fscanf(fp1,"%d,%d,%d,%d,%d,%lf\n",&n,&m,&pq,&pv,&duidi,&eps);

j=1;k=pq+1;
for(i=1;i<=n;i++)                                               
{
    fscanf(fp1,"%d,%d",&number,&h);
    if(h==1)                                                    
    { 
        fscanf(fp1,",%lf,%lf,%lf,%lf\n",&jd[j].p,&jd[j].q,&jd[j].e,&jd[j].f);
        jd[j].num=number;
        jd[j].s=h;
        j++;
    }
    if(h==2)                                                     
    {
        fscanf(fp1,",%lf,%lf\n",&jd[k].p,&jd[k].U);
        jd[k].num=number;
        jd[k].s=h;
        jd[k].q=0;
        k++;
    }
    if(h==3)                                                    
    {
        fscanf(fp1,",%lf,%lf\n",&jd[n].e,&jd[n].f);
        jd[n].num=number;
        jd[n].s=h;
    }
}
for(i=1;i<=m;i++)                                               
    fscanf(fp1,"%d,%d,%d,%lf,%lf\n",&zhl[i].numb,&zhl[i].p1,&zhl[i].p2,&zhl[i].r,&zhl[i].x);     
    fclose(fp1);
if((fp2=fopen("output.txt","w"))==NULL)
{ 
   printf("  can not open file!\n");
   exit(0);
}

}

重点分析一下 fscanf 的语句,就可以分析出需要的数据格式

什么叫“有程序没有文本”?如果要判断一个文本是否存在就看fopen()是否成功。

fscanf(fp1,"%d,%d,%d,%d,%d,%lf\n",&n,&m,&pq,&pv,&duidi,&eps);

根据fscanf中的参数,可以看出文件内容应该是

整数,整数,整数,整数,整数,浮点数回车

看所有的fscanf,里面定义了怎样读数据的格式
根据那个格式,写一个文件即可