24小时热门版块排行榜    

查看: 2955  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 会评 +5 无名者登山 2026-07-15 5/250 2026-07-15 18:15 by 杠就是你对
[基金申请] 生生命学部会评 +3 wuke100666 2026-07-15 3/150 2026-07-15 17:11 by kingkocxr
[基金申请] 小木虫没落了,除了祈祷帖子,几乎看不到有价值的帖子 +13 botar 2026-07-14 13/650 2026-07-15 17:08 by kingkocxr
[基金申请] E口会评 +11 布布和一二 2026-07-13 13/650 2026-07-15 16:34 by Kittylucky
[基金申请] E口青C会评结束了吗? 40+3 小小书虫c 2026-07-14 9/450 2026-07-15 16:04 by 安静的知了
[基金申请] 生命口C13面上会评时间 +6 luckinging 2026-07-14 9/450 2026-07-15 14:39 by 雨冰共舞
[教师之家] 内心匮乏 +13 水冰月月野兔 2026-07-12 13/650 2026-07-15 14:21 by jiduquegai
[文学芳草园] 你可曾有过这种感受? +3 Jeanya 2026-07-09 6/300 2026-07-15 11:07 by mbtwt
[论文投稿] 农业机械学报投稿周期 +3 G0DLIN 2026-07-14 7/350 2026-07-15 09:26 by xs74101122
[基金申请] 国自然面上D口祈祷 +4 monkeynana 2026-07-14 4/200 2026-07-15 09:14 by 白水煮
[论文投稿] 跨出版社商投稿 20+4 倪好520 2026-07-13 4/200 2026-07-15 08:35 by bobvan
[基金申请] 没收到消息,再次陪跑 +3 天空星辰fly 2026-07-14 3/150 2026-07-14 19:14 by 6543yes
[基金申请] 不要再数国自然申请书的 filecode 的分隔符个数了 +13 sadpencil 2026-07-12 20/1000 2026-07-14 13:12 by 杠就是你对
[基金申请] 明天E口面上会评 +8 布布和一二 2026-07-12 9/450 2026-07-13 22:59 by QTSorange
[论文投稿] MSER送审了还被拒稿 +4 S778950906 2026-07-08 6/300 2026-07-13 16:22 by tfang
[考博] 27届辽宁大学应届毕业生申博 +3 可乐微风大海 2026-07-09 3/150 2026-07-10 21:23 by 贪玩的研究僧
[基金申请] 关于如何从代码看上不上会 +17 且听虎啸 2026-07-09 23/1150 2026-07-10 19:51 by sdfapple719
[有机交流] chemdraw 20+5 ?慕鱼? 2026-07-08 6/300 2026-07-10 15:37 by 紫枫星域
[基金申请] b口会评 +6 当空照 2026-07-08 6/300 2026-07-09 20:49 by tonyliu0401
[考研] 在职考研 +6 wu5d 2026-07-08 7/350 2026-07-09 16:40 by 化工小霸王呀
信息提示
请填处理意见