爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3865|回复: 4

[求助] Fortran write的用法

[复制链接]

新浪微博达人勋

发表于 2019-3-14 10:44:52 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
Do
  write( cFile , * ) a(j)
  cFile = 'E:\Data\data1\' // Trim(AdjustL(cFile)) // '.txt'
  Open( 55 , File = cFile )
  读取该文件
  Close( 55 )  !// 这是关键。如果你每次循环都关闭了文件,下次循环打开的是另一个文件,则不会覆盖。
End Do


请问我用这个代码把数组里存储的文件名的字符串,变成了文件名来读取, write( cFile , * ) a(j)这句是什么意思啊,为什么我在循环读取之后原文件出现问题了,并没有往源文件里写入东西啊
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-3-14 14:26:06 | 显示全部楼层

回帖奖励 +1 金钱

本帖最后由 四叶草 于 2019-3-14 14:31 编辑

具体看下面的图,我对write、read的用法,有时候也是有点懵 FORTRAN字符串与数字间的转换.jpg
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2019-3-14 16:37:19 | 显示全部楼层
四叶草 发表于 2019-3-14 14:26
具体看下面的图,我对write、read的用法,有时候也是有点懵

我本来将文件名存储在数组里,然后用write将数组元素转换为字符进行读取,write(cfile,*) filename(i),每个文件名都很长。但是我在运行的时候这里总出现断点,不知道为什么,调试一天没有结果

给的提示是 :windows已在xx.exe中触发一个断点,其原因可能是堆被损坏,这说明xx.exe中或它所加载的任何DLL中有bug。
原因也可能是用户在xx.exe具有焦点时按下了F12。
输出窗口可能提供了更多诊断信息 。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-3-14 17:11:34 | 显示全部楼层
bjer 发表于 2019-3-14 16:37
我本来将文件名存储在数组里,然后用write将数组元素转换为字符进行读取,write(cfile,*) filename(i), ...

会不会是因为文件名太长哟?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2019-3-15 09:49:07 | 显示全部楼层
四叶草 发表于 2019-3-14 17:11
会不会是因为文件名太长哟?

确实是的 fortran有字符串长度限制 我的文件名太长啦 谢谢你~
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表