Redian新闻
>
急:问个fortran的初级问题。谢谢!
avatar
急:问个fortran的初级问题。谢谢!# Software - 软件世界
m*s
1
本人得到一个fortran subroutine,现需利用该subroutine将本人的1460
个数据文件转换成另一种格式,可惜本人对fortran所知寥寥,故特此求
各位高人指教,谢谢!
我的初步想法是:用"do......end"语句反复读入待转换的数据文件,
用subroutine处理后,写入指定的输出文件直至最后一个文件处理完毕。
本人的输入文件名为:xx_i_xxx,i=1,2,...,1460,即:各个文件仅i
一处不同,请问如何将文件名按如下分段串起来,从而实现循环读入
============================================================
第一部分:xx_
第二部分:i
第三部分:_xxx
============================================================
文件的功能?
再次感谢!
avatar
p*w
2
可以先把输入输出的文件名给统一了,然后编个简单的 fortran 读写文件。
也可以考虑把原有的 subroutine 编译了,然后在外围写个 bat 调用
(通过 cmd line 输入输出)

【在 m*******s 的大作中提到】
: 本人得到一个fortran subroutine,现需利用该subroutine将本人的1460
: 个数据文件转换成另一种格式,可惜本人对fortran所知寥寥,故特此求
: 各位高人指教,谢谢!
: 我的初步想法是:用"do......end"语句反复读入待转换的数据文件,
: 用subroutine处理后,写入指定的输出文件直至最后一个文件处理完毕。
: 本人的输入文件名为:xx_i_xxx,i=1,2,...,1460,即:各个文件仅i
: 一处不同,请问如何将文件名按如下分段串起来,从而实现循环读入
: ============================================================
: 第一部分:xx_
: 第二部分:i

avatar
p*w
3
猴年马月没用过 fortran了,记不清了。
反正对于字符、文件处理不是 fortran 的强项。
编译那个子函数,把命令行的参数带进去,这样就可以写 dos 批处理了。
比如,你把那个编译成 aaa.exe
你的批处理就写成
aaa input_1.txt output_1.txt
aaa input_2.txt output_2.txt
aaa input_3.txt output_3.txt
.....
你要是不会编批处理文件,
就拿个文本编辑器复制一下(自动加1那种)
构造那些命令行
然后就运行这个bat文件

多谢回复!不过,还有两点疑问:
1. 大侠的意思是:fortran中没有刻将文件名分段串起来的函数?
我知道C和Matlab都是有这样的函数的,所以循环读入仅部分
不同的文件名非常容易,但看样子fortran好像没有,请问我
的理解对不对?
2. 请问在外围写个bat调用是怎么回事?大侠可否给个bat的script,
再指点一二?谢谢!

【在 m*******s 的大作中提到】
: 本人得到一个fortran subroutine,现需利用该subroutine将本人的1460
: 个数据文件转换成另一种格式,可惜本人对fortran所知寥寥,故特此求
: 各位高人指教,谢谢!
: 我的初步想法是:用"do......end"语句反复读入待转换的数据文件,
: 用subroutine处理后,写入指定的输出文件直至最后一个文件处理完毕。
: 本人的输入文件名为:xx_i_xxx,i=1,2,...,1460,即:各个文件仅i
: 一处不同,请问如何将文件名按如下分段串起来,从而实现循环读入
: ============================================================
: 第一部分:xx_
: 第二部分:i

avatar
e*e
4
// is the string concatenation operator in fortran, like . in perl

【在 m*******s 的大作中提到】
: 本人得到一个fortran subroutine,现需利用该subroutine将本人的1460
: 个数据文件转换成另一种格式,可惜本人对fortran所知寥寥,故特此求
: 各位高人指教,谢谢!
: 我的初步想法是:用"do......end"语句反复读入待转换的数据文件,
: 用subroutine处理后,写入指定的输出文件直至最后一个文件处理完毕。
: 本人的输入文件名为:xx_i_xxx,i=1,2,...,1460,即:各个文件仅i
: 一处不同,请问如何将文件名按如下分段串起来,从而实现循环读入
: ============================================================
: 第一部分:xx_
: 第二部分:i

avatar
w*e
5
现在还有用fortran的地方?

【在 p*********w 的大作中提到】
: 猴年马月没用过 fortran了,记不清了。
: 反正对于字符、文件处理不是 fortran 的强项。
: 编译那个子函数,把命令行的参数带进去,这样就可以写 dos 批处理了。
: 比如,你把那个编译成 aaa.exe
: 你的批处理就写成
: aaa input_1.txt output_1.txt
: aaa input_2.txt output_2.txt
: aaa input_3.txt output_3.txt
: .....
: 你要是不会编批处理文件,

avatar
p*w
6
楼主不是说从前的一个子函数么
估计是历史遗留下来的了

【在 w*******e 的大作中提到】
: 现在还有用fortran的地方?
avatar
K*n
7
character (len=100) :: fname, fmtstr= '(A,I??,A)'
integer :: ndig
do i = 1, 1460
ndig = int(log(dble(i)))+1
write(fmtstr(5:6),'(I2)') ndig
!
write(fname, fmtstr) 'xx',i, 'xxx'
!
open(10, file=fname,action='read')
....
close(10)
enddo
在 moontrees (moonovertrees) 的大作中提到: 】
avatar
s*r
8
learn a script language

【在 m*******s 的大作中提到】
: 本人得到一个fortran subroutine,现需利用该subroutine将本人的1460
: 个数据文件转换成另一种格式,可惜本人对fortran所知寥寥,故特此求
: 各位高人指教,谢谢!
: 我的初步想法是:用"do......end"语句反复读入待转换的数据文件,
: 用subroutine处理后,写入指定的输出文件直至最后一个文件处理完毕。
: 本人的输入文件名为:xx_i_xxx,i=1,2,...,1460,即:各个文件仅i
: 一处不同,请问如何将文件名按如下分段串起来,从而实现循环读入
: ============================================================
: 第一部分:xx_
: 第二部分:i

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。