网站首页
本站精华
免费下载
游客:
注册
|
登录
|
会员
|
搜索
|
帮助
LoveUnix
»
编程开发 & Rational
» 救!!!向文件输出时不知为何堆里的数据遭到改变[已解决]
‹‹ 上一主题
|
下一主题 ››
投票
交易
悬赏
活动
打印
|
推荐
|
订阅
|
收藏
标题:
[疑问]
救!!!向文件输出时不知为何堆里的数据遭到改变[已解决]
jasonway
LU新生
UID 44865
精华 0
积分 3
帖子 6
活跃指数 3
LU金币 9 个
LU金条 0 个
阅读权限 10
注册 2006-4-12
#1
大
中
小
使用道具
发表于 2006-4-14 12:09
资料
个人空间
短消息
加为好友
救!!!向文件输出时不知为何堆里的数据遭到改变[已解决]
write是site的友元。不知为何,在输出y的时候map[2][0]就会遭到改变,本来是1,就变成了8240。。。。无论怎样,map[2]
(i为任意数)这一列总是会遭到修改。。。(用trace看出来的)
现在换成vc6编译,又正常了..........汗
#include<iostream.h>
#include<fstream.h>
#include<stdlib.h>
class site
{
public:
friend void write();
protected:
long int maxpeople;
int type;
};
int mx,my;
int x,y,n;
site **map;
site mini[10][10];
int *d;
ofstream logtxt("log.txt");
void main()
{
read();
getmemory();
generate();
write();
}
void getmemory()
{
if ((map=new site*[x])==NULL)
{
logtxt<<"Error in getting memory.";
exit(1);
}
if ((map[0]=new site[x*y])==NULL)
{
logtxt<<"Error in getting memory.";
exit(1);
}
for(int i=1;i<x;i++)
{
map
=map[i-1]+y*n;
}
}
void write()
{
ofstream fou("map.txt");
fou<<x<<" "<<y<<"\n";\\运行到这一句就出问题!见下。
int i,j;
for(j=0;j<y;j++)
{
for(i=0;i<x;i++)
{
fou<<map
[j].maxpeople<<" ";
}
fou<<"\n";
}
for(j=0;j<y;j++)
{
for(i=0;i<x;i++)
{
fou<<map
[j].type;
fou<<" ";
fou.flush();\\用了这个以后似乎情况有所改善。。
}
fou<<"\n";
}
};
[
本帖最后由 jasonway 于 2006-4-20 17:34 编辑
]
投票
交易
悬赏
活动
LoveUnix
专项技术区
> AIX -IBM UNIX
> 其他UNIX & Linux
> i5 (AS400) & IBM大机
> PC Server & HPC
> 存储设备
> 备份软件
> 网络 & 安全
> 编程开发 & Rational
> DB2 & Informix
> ORACLE等数据库
> 中间件技术
行业综合区
> 职业咨询 前程无忧
> 培训认证 行业入门
> 行业应用 项目实施
> 产品信息 商务交流
> Free download下载
交流灌水区
> 蓝色太平洋
> 墨香雅韵
> 论坛建设
> 博客专区
当前时区 GMT+8, 现在时间是 2008-12-5 10:08
乐悠LoveUnix论坛-京ICP备05005823号
Thanks to
Discuz!
© 2001-2007 Power by
LoveUnix.net
Processed in 0.072131 second(s), 6 queries , Gzip enabled
TOP
清除 Cookies
-
联系我们
-
乐悠LoveUnix
-
Archiver
界面风格
----------
Discuz! 5 Default
新DISCUZ风格
控制面板首页
编辑个人资料
积分交易
公众用户组
好友列表
升级个人空间
基本概况
流量统计
客户软件
发帖量记录
论坛排行
主题排行
发帖排行
积分排行
在线时间
管理团队
管理统计