| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 949 人关注过本帖
标题:帮忙看一下偶数存入二进制文件的程序问题
只看楼主 加入收藏
菁菁wang
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-9-24
结帖率:50%
收藏
 问题点数:0 回复次数:5 
帮忙看一下偶数存入二进制文件的程序问题
#include "stdafx.h"
#include<fstream.h>
void main(void)
{
int i,x;
ofstream out("date3.dat",ios::out|ios::binary);
if(!out){cout<<"不能打开文件d3.dat\n";return;}
for(i=5;i<200;i+=2)
out.write((char*)&i,sizeof(int));
out.close();
ifstream f("data3.dat",ios::in|ios::binary);
if(!f){cout<<"不能打开文件d.dat\n";return;}
f.seekg(30*sizeof(int));
for(i=0;i<10&&!f.eof();i++)
{
    f.read((char*)&x,sizeof(int));
    cout<<x<<'\t';
}
f.close();
}

请高手看看本程序有什么问题如何修改?
目的是创建二进制文件“data3.dat”,并将5-200之间的奇数存入二进制文件,然后将文件中的第30-39位置之间的数依次读出并输出,正确显示结果应该是:
65 67 69 71 73 75 77 81 83
Press any key to continue
但是我运行之后的结果显示的却是:
-85899346          Press any key to continue
搜索更多相关主题的帖子: 如何 include return 二进制 
2011-10-20 10:14
玩出来的代码
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河南新乡
等 级:贵宾
威 望:11
帖 子:742
专家分:2989
注 册:2009-10-12
收藏
得分:0 
被LZ害了,我先在磁盘上创建了一个data3.dat,然后运行程序,果然出错、、然后改用C函数正确、、再用C++还错、突然发现磁盘上有3个文件。

离恨恰如春草,更行更远还生。
2011-10-20 17:19
菁菁wang
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-9-24
收藏
得分:0 
回复 2楼 玩出来的代码
嘿嘿,新手嘛,偶尔害人也是无意的。知道什么问题了吗?知道了分享一下呗
2011-10-21 08:20
lucky563591
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:765
专家分:2103
注 册:2009-11-18
收藏
得分:0 
你的x是哪里来的?
2011-10-21 08:24
菁菁wang
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-9-24
收藏
得分:0 
回复 4楼 lucky563591
资料上看的啊,给点解决办法吧,谢谢
2011-10-21 14:57
玩出来的代码
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河南新乡
等 级:贵宾
威 望:11
帖 子:742
专家分:2989
注 册:2009-10-12
收藏
得分:0 
问题已经很明显了,我磁盘上有3个文件、、

离恨恰如春草,更行更远还生。
2011-10-21 16:36
快速回复:帮忙看一下偶数存入二进制文件的程序问题
数据加载中...
 
   



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

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