24小时热门版块排行榜    

查看: 2482  |  回复: 14
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

david830wu

新虫 (初入文坛)

[求助] Fortran的格式化输入输出问题

下面是一个矩阵的内容,在文件里,想用Fortran读入,应该怎样做呢?
难点在于,空格数不固定,数字的长度也不固定,Fortran有没有能像C++那样的自动跳过空格,自动控制长度的智能读入呢?

Matrix.dat:
1 2  3   45 2
341 3 221 2 45
21     45     3 23 3
1           32 2     34 33
45  36   39    81 4

谢谢啦!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖

★ ★
david830wu(金币+5): 嗯,以前陷到格式化输出的沟里了,其实用“*”就好了。非常感谢! 2011-07-17 17:24:03
xzhdty(金币+2): 欢迎常来 2011-07-17 21:51:22
你每行都是一样多的数字吗?或者说,你的 matrix 的维数是已知的吗?

直接
CODE:
read(12, *) ((a(i,j), i=1,5),j=1,5)

不行吗?

当然,这里都是以浮点数读入的,你可以转一下,呵呵……
2楼2011-07-17 17:13:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)


dubo(金币+1): 欢迎常来程序语言版讨论 2011-07-17 22:51:45
引用回帖:
Originally posted by david830wu at 2011-07-17 18:45:35:
再进一步问一下,也是我真实遇到的,就是GAMBIT的网格划分文件,数据文件是十六进制应该怎么办呢?
MATRIX.dat
1   3f  a6    21   4
a cc        f3      2  2
3    d0    b2    46   4
……
这样的文件用 ...

这个没有啥好办法,将多个空格替换为一个空格,然后按字符串读入,以空格划分,再以内部文件的方式格式化读入……
4楼2011-07-17 19:44:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)


jjdg(金币+1): 感谢参与 2011-07-18 20:07:11
看不懂你要做什么?
6楼2011-07-18 15:16:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)


jjdg(金币+1): 感谢你的积极参与 2011-07-19 10:43:15
能说得更简单一些吗?抛开所谓的专业,呵呵……
也就是说,我的输入是什么,我的输出是什么?
8楼2011-07-19 08:49:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)


jjdg(金币+1): 感谢你的热心参与 2011-07-21 10:07:19
看这个意思,是从6个16进制的数据中,读取其中的三个,然后返回3个对应的十进制数,是吧?
10楼2011-07-21 09:58:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

★ ★
jjdg(金币+2): 感谢参与 2011-07-22 01:38:55
给一个我写的 Fortran 90 版本的程序,没有加前面的准备字符串部分,呵呵,希望不难懂理解……
CODE:
program read_hex

implicit none
character(len=80) :: line="3 5  F6F  1d 0 0"
character(len=80) :: buff, hex_str, fm
integer, dimension(3) :: hex
integer :: str_len, i, first, last

buff = adjustl(line)
str_len = len_trim(buff)

!! remove the extra space in the string
do i=1,str_len-1
   if (buff(i:i) == ' ' .and. buff(i+1:i+1) == ' ') buff(i:) = buff(i+1:)
end do

!! extract the hexadecimal constant
first = 1
do i=1,3
   first = index(buff(first:), ' ') + first - 1
   last = index(buff(first+1:), ' ') + first
   hex_str = buff(first+1:last-1)
   write(fm, '(a,i0,a)') '(Z', len_trim(hex_str), ')'
   read(hex_str, fm) hex(i)
   first = last
end do

!! hexadecimal to decimal constrant, and output...
write(*,*) hex

end program read_hex

11楼2011-07-21 11:45:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 david830wu 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 博后网上办公系统维护 +13 取名字烦人 2024-06-25 21/1050 2024-06-26 19:41 by msjy
[有机交流] 大佬们,打的核磁氢谱与chemdraw预测的有偏差 +5 来了个 2024-06-26 5/250 2024-06-26 17:28 by Jasonlin7758
[基金申请] 基你太美 +13 lyfbangong 2024-06-24 15/750 2024-06-26 17:12 by lyfbangong
[论文投稿] 我在写关于多维空间的论文,希望能与大家交流,准备在science上发表 +8 lgf519 2024-06-24 10/500 2024-06-26 16:25 by 梦渺岚烟
[基金申请] 博后面上和特助今天出吗? +41 逗您玩 2024-06-21 78/3900 2024-06-26 16:00 by HAPPY_0225
[育儿交流] 暑假孩子一个人在家可以干什么 +4 唠叨的映 2024-06-25 5/250 2024-06-26 15:35 by 361997417
[基金申请] 要持续整治滥发“帽子”、“牌子”之风 +6 babu2015 2024-06-25 6/300 2024-06-26 14:52 by felicity6056
[硕博家园] 【45岁以上博士】柔性人才引进项目,有补贴 +9 Dreamsummit 2024-06-24 18/900 2024-06-26 12:28 by hujm159
[公派出国] CSC博士联培对将来就业有用吗 +4 也就这样 2024-06-22 4/200 2024-06-26 10:46 by lxs7405
[基金申请] 今天能不能出来名单 +8 地理学1995 2024-06-25 10/500 2024-06-26 09:46 by msjy
[有机交流] 过柱子,产品,杂质在是 pe:ea=100:1 也一起出来? +5 w256 2024-06-25 5/250 2024-06-26 09:31 by 小木木cc
[硕博家园] 考博英语 +5 198新用户 2024-06-25 10/500 2024-06-26 08:09 by 地狱伞兵
[基金申请] 厅级项目出校却没中 +13 Iwould 2024-06-23 20/1000 2024-06-26 06:14 by foolishmani
[考博] 一名额难求啊 +14 pinbo拼搏 2024-06-19 14/700 2024-06-25 16:55 by wjykycg
[基金申请] 2024安徽省哲社立项名单公示 +3 robin_work 2024-06-24 6/300 2024-06-25 14:37 by Pickfoot
[硕博家园] 夏至,要不要硕博联谊 +4 我是王小帅 2024-06-21 6/300 2024-06-25 14:25 by 庭前花开月儿明
[教师之家] 复旦夏同学提出高校成年人学生退学不应该让家长审核,大家认同吗? +10 苏东坡二世 2024-06-22 17/850 2024-06-24 16:52 by wanghuawei
[基金申请] 教育部基金 +5 m1393 2024-06-21 5/250 2024-06-21 21:13 by odes
[基金申请] 听大佬说今年信息口本子数量大幅增加? +8 wutzxt 2024-06-21 9/450 2024-06-21 19:58 by wutzxt
[论文投稿] ACS 编辑的意见 10+3 哈哈妞1993 2024-06-20 3/150 2024-06-21 17:06 by 投个论文
信息提示
请填处理意见