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

问题描述

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,%lfn",&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,%lfn",&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,%lfn",&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,%lfn",&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,%lfn",&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,%lfn",&n,&m,&pq,&pv,&duidi,&eps);

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

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

解决方案四:

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

时间: 2024-09-18 13:09:20

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

qt程序读不懂求解,感谢!

问题描述 qt程序读不懂求解,感谢! 求解读下程序,感谢! 解决方案 从串口还是什么地方读取rfid tag.具体要看你的协议. 解决方案二:

MFC读txt数据时,数据出错

问题描述 MFC读txt数据时,数据出错 我用mfc写了一个程序用于读取数据进行一元线性回归计算,读进来的数据总会莫名其妙的出问题,比如数据是12.34,读进来就会变成12.33999999999999999或者12.340000000000001,求各路大神帮忙看看是什么回事 解决方案 你有考虑过精度问题吗? 解决方案二: 浮点数在计算机中无法精确存储,只是无限接近这个数而已比如你存储12.34也只是存储一个无限接近12.34的值(比如12.339999....)所以我们比较浮点数的时候会设置

把 treeview 保存到 txt文本文档之中 之后下次运行程序 会自动加载txt文本中的节点!!!!求各位大神帮忙 周三就要交了!!!

问题描述 把treeview保存到txt文本文档之中之后下次运行程序会自动加载txt文本中的节点!!!!求各位大神帮忙周三就要交了!!!还有就是用c#实现前进和后退功能谢谢大家了!!! 解决方案 解决方案二:你没说节点是如何保存在txt中的.怎么保存的就怎么读取啊.解决方案三:用xml保存,treeview的节点展开与xml子节点添加同步就行.解决方案四:你为什么不用XML保存呢?解决方案五://我例举一个文本框值保存到记事本中然后下次运行程序自动加载进来值if(File.Exists("../

linux-Linux下程序从txt中读出的数据为什么不正确?

问题描述 Linux下程序从txt中读出的数据为什么不正确? 我在Linux下进行并行程序的编译和运行,其中有些参数是从txt文档中获取的,但是我发现在程序获取的参数中,有些是正确的,但是有些是错误的,很是不解,请问大家有遇到过这种现象吗?通过查资料,我觉得可能是Linux和Windows下文本的格式不一样,我用dos2unix命令将文本转换为Linux下的格式,读出来依旧和前面一样,费解啊... 解决方案 应该还是读取文件的代码逻辑有问题,没有处理对读取的数据

VC中通过程序向RichEditView写文本

在建立SDI或MDI程序时,如果选择了RichEditView,就可以利用RichEdit提供的丰富的格式,但是如何通过程序在RichEditView中写入文本却是一个问题,下文就介绍了如何实现用程序在RichEditView中写文本. 一.在文本末尾写文字 void CRichEditUseDoc::OnTextWriteafter() { CString str; int nTextLength; CRichEditView *pView = GetView(); CRichEditCtrl

arcgis 二次开发-arcgis10.3可正常使用,可是程序读不到授权

问题描述 arcgis10.3可正常使用,可是程序读不到授权 我用网上的破解方法,提换了service文件.arcgis.exe.afcore.dll,desktop和engine中可用性都是对的,desktop中各个程序可以正常运行,就是开发环境中读授权就读不到,哪位大神帮帮我

c语言编程-C语言 选择法 从小往大排列数字 但是我这个程序无法得到正确结果 why

问题描述 C语言 选择法 从小往大排列数字 但是我这个程序无法得到正确结果 why #include void sort(int array[],int n) {int i,t; for(i=0;i<n-1;i++) { if(array[i+1]<array[i]) t=array[i+1];array[i+1]=array[i];array[i]=t;} } int main() { int a[10],i; printf("enter the arrayn"); fo

mvc-.net MVC4程序读不出来 App_Code内的类是怎么回事?

问题描述 .net MVC4程序读不出来 App_Code内的类是怎么回事? 新建的项目也不行,命名空间没问题啊? App_Code里的代码能读取到其他文件夹内的代码,反过来就不行. -- App_Code里的代码命名空间是"namespace Test.Utility" 但是在Controllers里 Test.Utility都出不来 -- VS2013,直接新建MVC4网站"Internet 应用程序",然后建立App_Code文件夹,里面的代码就不识别. 解决

磁盘-新手学习C语言到文件顺序读写一节,求助帮忙理解程序,请备注就行!

问题描述 新手学习C语言到文件顺序读写一节,求助帮忙理解程序,请备注就行! //怎样向文件读写字符,本体我的问题是为什么没有用fgetc函数逐渐输入字符,还有为什么我在资源管理器里找不到新建的文件? #include #include int main() { FILE * fp; char ch,filename[10]; printf("请输入所用的文件名:"); scanf("%s",filename); if((fp = fopen("filena