24小时热门版块排行榜    

查看: 3067  |  回复: 23

shixha

银虫 (小有名气)

[求助] fortran两个问题,文件中的空格,屏幕同一行覆盖输出

问题一,在文件总如下的数据,怎么读?可以用read(10,*)实现,但我前面还有字符串,所以怎么用格式控制符读取?
2888 1 0.0537094 0.3042080 0.2281860
9269 1 0.1542730 0.3637710 0.0239597
26883 1 0.4948280 0.3128810 0.2175420
15665 1 0.1308460 0.0832195 0.0741127
1513 1 0.4120060 0.4771680 0.1658080
17079 1 0.1477880 0.1364340 0.1343700

问题二,如何实现屏幕同一行覆盖输出?
如先输出
100 30%
然后输出200 31%,覆盖前面的内容,在同一行
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖

★ ★
微尘、梦想(金币+2): 谢谢参与应助! 2011-05-07 21:42:02
shixha(金币+2): 2011-05-08 00:09:20
第一个问题你没有说清楚,所以不知道你要干什么,至少应该给出数据,及你想要的结果……

第二个问题,可以试一下下面的代码:
CODE:
program test

   character(len=20) :: a, b
   character*1 creturn ! code::
   
   a = '100 30%'
   b = '200 31%'
   creturn = achar(13) ! generate carriage return
   
   write( * , '(a,a)' , advance='no' ) creturn , a
   write( * , '(a,a)' , advance='no' ) creturn , b
   
end program test

» 本帖已获得的红花(最新10朵)

2楼2011-05-07 18:12:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shixha

银虫 (小有名气)

引用回帖:
Originally posted by snoopyzhao at 2011-05-07 18:12:15:
第一个问题你没有说清楚,所以不知道你要干什么,至少应该给出数据,及你想要的结果……

第二个问题,可以试一下下面的代码:

[code]
program test

   character(len=20) :: a, b
   character*1 cret ...

试了下,成功了,为什么用ascii的回车,这样就可以使指针回到屏幕行头嘛?不是很理解。


第一个问题是这样的,我想从文件中导入数据,到数组中。文件的结构如下,5列,前面两个是integer的,后面三个是real的,real数据可能小数位数不一致,如何读取,能够用格式控制符实现,不要用read(10,*)

25103 1 0.436324 0.100938 0.0298728
2888 1 0.0537094 0.304208 0.228186
9269 1 0.154273 0.363771 0.0239597
26883 1 0.494828 0.312881 0.217542
15665 1 0.130846 0.0832195 0.0741127
1513 1 0.412006 0.477168 0.165808
17079 1 0.147788 0.136434 0.13437
23869 1 0.0371001 0.0639775 0.0341563
29274 1 0.131698 0.478297 0.14099
783 1 0.388908 0.340938 0.0679263
.......................
3楼2011-05-07 22:15:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

引用回帖:
Originally posted by shixha at 2011-05-07 22:15:47:
试了下,成功了,为什么用ascii的回车,这样就可以使指针回到屏幕行头嘛?不是很理解。


第一个问题是这样的,我想从文件中导入数据,到数组中。文件的结构如下,5列,前面两个是integer的,后面三个是rea ...

都要,还是只要后面三列……
4楼2011-05-07 22:20:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖

引用回帖:
Originally posted by shixha at 2011-05-07 22:15:47:
试了下,成功了,为什么用ascii的回车,这样就可以使指针回到屏幕行头嘛?不是很理解。


第一个问题是这样的,我想从文件中导入数据,到数组中。文件的结构如下,5列,前面两个是integer的,后面三个是rea ...

既然小数点位数可能不一样,如何格式化读取呢?如果你的数据不是按特定格式的话,就不可能格式化读取。

通常采用的办法就是用字符串和内部文件结合在一起处理,这样可能比较快一些……

其实 read(10,*) 挺好啊,把所有的数先用 real 读入,然后你再折腾就好了……
5楼2011-05-07 22:27:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shixha

银虫 (小有名气)

引用回帖:
Originally posted by snoopyzhao at 2011-05-07 22:27:38:
既然小数点位数可能不一样,如何格式化读取呢?如果你的数据不是按特定格式的话,就不可能格式化读取。

通常采用的办法就是用字符串和内部文件结合在一起处理,这样可能比较快一些……

其实 read(10,*)  ...

我是用格式化和read(10,*)交替读取的,感觉太冗长了,因为周期性出现字符串的,非常感谢!!!
6楼2011-05-08 00:25:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

引用回帖:
Originally posted by shixha at 2011-05-08 00:25:14:
我是用格式化和read(10,*)交替读取的,感觉太冗长了,因为周期性出现字符串的,非常感谢!!!

你上面给出的数据中没有字符串啊……
7楼2011-05-08 07:22:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

holmescn

金虫 (正式写手)

【答案】应助回帖

★ ★
微尘、梦想(金币+2): 谢谢参与应助! 2011-05-09 17:41:30
我想是不是可以这样
CODE:
read(10, '(A, X, A)') str, data
read(data,*) your, datas

8楼2011-05-08 08:51:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

引用回帖:
Originally posted by shixha at 2011-05-07 22:15:47:
试了下,成功了,为什么用ascii的回车,这样就可以使指针回到屏幕行头嘛?不是很理解。


第一个问题是这样的,我想从文件中导入数据,到数组中。文件的结构如下,5列,前面两个是integer的,后面三个是rea ...

ascii 的回车,表示 Go to the beginning of the current line,所以,利用这一特性,可以模拟你的要求,呵呵……
9楼2011-05-08 10:12:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

引用回帖:
Originally posted by holmescn at 2011-05-08 08:51:16:
我想是不是可以这样
CODE:
read(10, '(A, X, A)') str, data
read(data,*) your, datas


这个要求 str 的长度要固定,否则会出问题……
10楼2011-05-08 10:16:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 shixha 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 牛来!米来!面来! +8 beefly 2026-08-26 8/400 2026-08-26 08:37 by xuzhipiao
[考研] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 7K1CJE38xLG4 2026-08-25 5/250 2026-08-26 07:17 by cNXvBfCpiZOM
[公派出国] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 PbwVEMK5haaE 2026-08-25 6/300 2026-08-26 06:57 by cNXvBfCpiZOM
[考博] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 Qj98d49dHFb9 2026-08-25 5/250 2026-08-26 04:57 by cNXvBfCpiZOM
[论文投稿] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 7K1CJE38xLG4 2026-08-25 4/200 2026-08-26 02:04 by cNXvBfCpiZOM
[基金申请] 今天务委会开完了,明天出结果吗 +18 angus9576 2026-08-25 22/1100 2026-08-26 00:41 by merchancy
[基金申请] 明天应该可查了!? +6 chengyan1220 2026-08-23 6/300 2026-08-25 19:45 by zfd97
[基金申请] 放榜前的不淡定 20+4 snowwithsea 2026-08-19 19/950 2026-08-25 17:57 by chick875
[基金申请] 某些机构,以效率低为荣,以效率低作为存在感 +9 yuleib84 2026-08-25 10/500 2026-08-25 17:14 by alexon
[基金申请] 如果此刻你正在为国基感到焦虑,不妨来听听这首《基金之外》 +8 scalable 2026-08-24 8/400 2026-08-25 12:52 by jnhyjjm
[基金申请] 没有任何消息-是不是就凉了 +9 图啦图啦 2026-08-24 10/500 2026-08-25 11:59 by 南海小哥
[基金申请] 人气不行了 +11 fansofjerry 2026-08-21 11/550 2026-08-25 11:04 by 孤独的英雄6
[基金申请] 2026年的国家社科基金项目通讯评审的新规则与新动向、新挑战 +5 process2012 2026-08-23 7/350 2026-08-25 09:42 by huixian257
[基金申请] 我面上完蛋了 +13 且听虎啸 2026-08-20 14/700 2026-08-25 09:10 by mrkang
[基金申请] 能否退出参与的面上项目解除限项 +21 koalala 2026-08-24 24/1200 2026-08-24 19:25 by 家与远方
[基金申请] filecode,4个jtjc了 +14 ziyangfang 2026-08-19 17/850 2026-08-24 18:37 by 哈哈蛤?
[基金申请] 看来今天不会放榜了? +8 chengyan1220 2026-08-21 11/550 2026-08-21 17:52 by dcqxinyang
[基金申请] 时间戳又变了 +13 wuchongjun 2026-08-20 19/950 2026-08-21 17:21 by 紫杉醇
[基金申请] 今天放榜没戏了吧 +9 yuleib84 2026-08-19 11/550 2026-08-21 10:06 by gltch
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
信息提示
请填处理意见