论坛首页    职业区    学术与写作    工程技术区    软件区    资料区    商务合作区    社区办公室
 您好! 欢迎 登录注册 最新帖子 邀请注册 活动聚焦 统计排行 社区服务 帮助
 
  • 帖子
  • 日志
  • 用户
  • 版块
  • 群组
帖子
  • 1867阅读
  • 4回复

哪位高手帮忙看看我这个简单的FISH程序吧 [复制链接]

上一主题 下一主题
离线once-dreamer
 

发帖
23
土币
591
威望
192
原创币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2010-11-07
问题写在后面了
谢谢各位高手了~~
n
def write_file
array useless(3)
loop n(1,3)
  useless(n)=n*n
endloop
status=open('useless.dat',1,0)
status=write(useless,3)
status=close
end

def write_file_2
array useless2(3)
loop n(1,3)
  useless2(n)=n*n+1
endloop
status=open('useless.dat',2,0);这里的“2”我是想实现后面的数据追加到这个文件里面去,如果还用“1”的话,会导致前面的文件被覆盖。但是用“2”会报错。
status=write(useless2,3)
status=close
end

def read_file
array bb(6)
status=open('useless.dat',0,0)
status=read(bb,6)
status=close
loop n(1,6)
  oo=out(bb(n))
endloop
end
write_file
write_file_2
read_file
[ 此帖被once-dreamer在2010-11-07 16:00重新编辑 ]
离线once-dreamer

发帖
23
土币
591
威望
192
原创币
0
只看该作者 1楼 发表于: 2010-11-07
我找到问题的原因了,第一次保存文件的时候应该是自动在文件末尾追加了文件结束符,类似EOF之类的,所以后面追加数据后这个EOF被当做某种字符数据了,于是再读的时候就会出现格式不匹配的问题。可是FISH里面不能自动去掉那个结束符么?
离线once-dreamer

发帖
23
土币
591
威望
192
原创币
0
只看该作者 2楼 发表于: 2010-11-07

我把它搞定了,呵呵,我自己在这自言自语半天,我自己把答案写出来吧,像我一样的初学者遇到了可以参考一下。问题就是出在上面那个文件结束符的地方。我把修改后的代码贴在下面,仅供参考~~

n
def write_file
    array useless(3)
    loop n(1,3)
        useless(n)=n*n
    endloop
    status=open('useless.dat',2,0)
    status=write(useless,3)
    ;status=close;这句不要了,也就是不关闭文件了,这样就不会生成那个结束符了
end

def write_file_2
    array useless2(3)
    loop n(1,3)
        useless2(n)=n*n+1
    endloop
    ;status=open('useless.dat',2,0);这句也不要了,不用重新打开文件了
    status=write(useless2,3)
    status=close
end

def read_file
    array bb(6)
    status=open('useless.dat',0,0)
    status=read(bb,6)
    status=close
    loop n(1,6)
        oo=out(bb(n))
    endloop
end
write_file
write_file_2
read_file
sys del useless.dat;这里加了这句,免得每次自己去删已经生成的文件
离线edelmann

发帖
2975
土币
53409
威望
7629
原创币
0
只看该作者 3楼 发表于: 2010-11-08
进步不小啊!
有努力,就有进步。
恭喜!
离线once-dreamer

发帖
23
土币
591
威望
192
原创币
0
只看该作者 4楼 发表于: 2010-11-08
回 3楼(edelmann) 的帖子
谢谢谢谢~~~我还总结出来了一个经验,写程序写不出来的时候千万别一个劲儿的在那钻,出去转转回来会有新的想法~~~
快速回复
限100 字节
温馨提示:欢迎交流讨论,请勿纯表情、纯引用!
 
上一个 下一个

      浙公网安备 33010602003799号 浙ICP备14021682号-1

      工业和信息化部备案管理系统网站