| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
大量收QQ微信精准粉/交友粉,非诚勿扰千里之行 始于足下
共有 418 人关注过本帖
标题:编程实现:将一个实数f=55.5678和一个整型数组a[5]的数据写到磁盘文件TEXT ...
只看楼主 加入收藏
lemonandtree
Rank: 2
等 级:论坛游民
帖 子:74
专家分:10
注 册:2017-10-5
结帖率:88.89%
  问题点数:0  回复次数:1   
编程实现:将一个实数f=55.5678和一个整型数组a[5]的数据写到磁盘文件TEXT.dat中,然后再读回到另一个实型变量ff及另一个整型数组b[5]中。
要求:
(1)对整型数组a[5]采用初始化方式,对一个实数赋初值f=55.5678。
(2)建立一个磁盘文件TEXT.dat。将上述初始化的数据写入该文件。
(3)重新打开文件TEXT.dat,将该文件中的数据读入到一个实型变量ff和一个整型数组b[5]中。
(4)输出实型变量ff(精度为0.2)和数组b[5]的内容。
这是我写的代码:
程序代码:
#include<iostream>
using namespace std;
#define null 0
void main()
{
    FILE* fp;
    float f,ff;
    int a[5],b[5],i;
    if((fp=fopen("C:\\Users\\lemon\\Desktop\\desktop\\TEXT.dat","rb+"))==null)
    {
        cout<<"file can not open!";
        exit(0);
    }
    cin>>f;
    for(i=0;i<5;i++)
        cin>>a[i];
    if(fwrite(&f,sizeof(float),1,fp)!=1)
        cout<<"file write error";
    for(i=0;i<5;i++)
        if(fwrite(&a[i],sizeof(int),1,fp)!=1)
            cout<<"file write error";
    fread(&ff,sizeof(float),1,fp);
    for(i=0;i<5;i++)
        if(fread(&b[i],sizeof(int),1,fp)!=1)
            cout<<"file write error";
    cout<<ff;
    for(i=0;i<5;i++)
        cout<<b[i];
    fclose(fp);
    fp=null;
}
为什么实现不了啊????
(精度为0.2
是什么意思???
附件: 您没有浏览附件的权限,请 登录注册
2017-12-29 18:08
lemonandtree
Rank: 2
等 级:论坛游民
帖 子:74
专家分:10
注 册:2017-10-5
  得分:0 
我弄出来了,不好意思,
程序代码:
#include<iostream>
using namespace std;
#define null 0
void main()
{
    FILE* fp;
    float f,ff;
    int a[5]={0,1,2,3,4},b[5],i;
    if((fp=fopen("C:\\Users\\lemon\\Desktop\\desktop\\TEXT.dat","wb+"))==null)
    {
        cout<<"file can not open!";
        exit(0);
    }
    f=55.5678;
    if(fwrite(&f,sizeof(float),1,fp)!=1)
        cout<<"file write error";
    for(i=0;i<5;i++)
        if(fwrite(&a[i],sizeof(int),1,fp)!=1)
            cout<<"file write error";
    fclose(fp);
    fp=fopen("C:\\Users\\lemon\\Desktop\\desktop\\TEXT.dat","rb");
    fread(&ff,sizeof(float),1,fp);
    for(i=0;i<5;i++)
    {
        if(fread(&b[i],sizeof(int),1,fp)!=1)
            cout<<"file write error";
    }
    printf("%.2f\n",ff);
    for(i=0;i<5;i++) printf("%d\n",b[i]);
    fclose(fp);
    fp=null;
}

附件: 您没有浏览附件的权限,请 登录注册
2017-12-29 19:06







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022523 second(s), 8 queries.
Copyright©2004-2018, BCCN.NET, All Rights Reserved