声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 5466|回复: 5

[Fortran] 读文件问题?

[复制链接]
发表于 2005-7-8 15:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
<P>数据文件(a.0)如下:</P>
<P>NEQ,NX,NY,NSTEN<BR> 3 20 53 4<BR> COEF. MATRIX CC(NEQ*NEQ,(NXX+2)*(NYY+2))<BR> ((CC(K,I,J),K=1,9),I=1,im+2),j=1,jm+2)<BR>  1.  0.  0.  0.  1.  0.  0.  0.  1.<BR>  1.  0.  0.  0.  1.  0.  0.  0.  1.<BR>  1.  0.  0.  0.  1.  0.  0.  0.  1.    (部分忽略)</P>
<P>51.7351588 -0.0237233664 -0.000252668768 -0.0237233664  49.6040083  0.<BR> -0.000252668768  0.  3859.02479<BR>  51.7257063 -0.0237674169 -0.000253089232 -0.0237674169  49.6042068  0.<BR> -0.000253089232  0.  3845.3221  (要读入的)</P>
<P>0. 0. 0.</P>
<P>0. 0. 0. (忽略)</P>
<P>51.7351588 -0.0237233664 -0.000252668768 -0.0237233664  49.6040083  0.<BR> -0.000252668768  0.  3859.02479<BR>  51.7257063 -0.0237674169 -0.000253089232 -0.0237674169  49.6042068  0.<BR> -0.000253089232  0.  3845.3221 (要读入的)</P>
<P>高手帮忙写一下程序!谢谢!</P>
回复
分享到:

使用道具 举报

发表于 2005-7-8 16:23 | 显示全部楼层
<P>不知道你用什么语言,我一般用的是fortran</P>
<P>要读入的用read(unit,format),不读入的行用read(unit,'(n/)')跳过,根据你数据文件的格式写一下就行,很简单的,命令如果不熟悉的话参考fortran里的帮助,写得很详细</P>
[此贴子已经被作者于2005-7-8 17:58:52编辑过]

发表于 2005-7-8 16:56 | 显示全部楼层
<P>rewind 是回到文件起始位置,肯定不能用在这里</P>
<P>读入数据一般按'行'来读就行了,没什么问题。要忽略或者部分忽略的数据,它们的特点你肯定都知道,根据这些特点来读数据,试试吧。</P>
发表于 2005-7-8 17:58 | 显示全部楼层
<DIV class=quote><B>以下是引用<I>FSI</I>在2005-7-8 16:56:50的发言:</B><br>
<P>rewind 是回到文件起始位置,肯定不能用在这里</P>
<P>读入数据一般按'行'来读就行了,没什么问题。要忽略或者部分忽略的数据,它们的特点你肯定都知道,根据这些特点来读数据,试试吧。</P></DIV><br>[em04]是我一开始搞错了,现已修改
[此贴子已经被作者于2005-7-8 19:30:41编辑过]

 楼主| 发表于 2005-7-9 20:36 | 显示全部楼层
<DIV class=quote><B>以下是引用<I>aspen</I>在2005-7-8 16:23:29的发言:</B><br>
<P>不知道你用什么语言,我一般用的是fortran</P>
<P>要读入的用read(unit,format),不读入的行用跳过,根据你数据文件的格式写一下就行,很简单的,命令如果不熟悉的话参考fortran里的帮助,写得很详细</P><br></DIV>
<P>read(unit,'(n/)')编译时有错误,使用read(unit,'(/)')倒是可以,但是跳过两行.<br>
<P>怎么可以跳过一行那.?</P>
[此贴子已经被aspen于2005-7-9 21:09:19编辑过]

发表于 2005-7-9 21:09 | 显示全部楼层
<DIV class=quote><B>以下是引用<I>quartzbj</I>在2005-7-9 20:36:32的发言:</B><BR><BR>
<P>read(unit,'(n/)')编译时有错误,使用read(unit,'(/)')倒是可以,但是跳过两行.<BR>
<P>怎么可以跳过一行那.?</P><BR></DIV>
<P>
<P><FONT color=#ff0033>n是数字,比如你要向下跳三行那就是read(unit,'(2/)')</FONT></P>
<P><FONT color=#ff0033>向下跳五行那就是read(unit,'(4/)')</FONT></P>
<P><FONT color=#ff0033>如果是向下跳一行,那read(unit,'( )'),注意'( )'中间是一个空格</FONT></P>
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-25 21:45 , Processed in 0.078924 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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