Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2349538
  • 博文数量: 816
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-17 17:57
文章分类

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:08:17

多谢各位高手不吝赐教!!
请帮忙看看一下程序并提出具体的修改意见和建议。
#include
#include
#define N 10
void main(){
int  i,s[N],o[N];
fstream xsx("data.dat",ios::in|ios::out);
for(s[0]=1,i=0;i if(i>0)s[i]=s[i-1]*(i+1);
xsx.setf(ios::left);
xsx.seekp((long)((i)*6),ios::beg);
xsx.write((char*)&s[i],sizeof(int)).put('\n');
xsx.read((char*)&o[i],sizeof(int));
xsx.seekg((long)((i)*6),ios::beg);
cout< }

}

运行之后程序没有从1的阶层开始运算,而是跳到了二开始。而当我把它修改成一下程序时,运行却很顺利。这两个程序看似相同,为什么却有着完全不同的结果呢?
#include
#include
#define N 10
void main(){
int  i,s[N],o[N];
fstream xsx("data.txt",ios::out|ios::in);
for(s[0]=1,i=0;i if(i>0)s[i]=s[i-1]*(i+1);
xsx.setf(ios::left);
xsx.seekp((long)(i*6),ios::beg);
xsx.write((char*)&s[i],sizeof(s[i]));
xsx.put('\n');
xsx.seekg((long)(i*6),ios::beg);
xsx.read((char*)&o[i],sizeof(s[i]));
cout.width(9);
cout.setf(ios::right);
cout< }

}


--------------------next---------------------

阅读(1191) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~