24小时热门版块排行榜    

查看: 2714  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 求老师收留调剂 +4 jiang姜66 2026-03-14 5/250 2026-03-15 20:11 by Winj1e
[考研] 290求调剂 +3 孔志浩 2026-03-12 8/400 2026-03-15 15:30 by 孔志浩
[考研] 一志愿天大化工(085600)调剂总分338 +6 蔡大美女 2026-03-09 6/300 2026-03-14 02:46 by JourneyLucky
[考研] 一志愿浙江大学0856材料与化工求调剂 +4 yansheng@211 2026-03-09 5/250 2026-03-14 02:10 by JourneyLucky
[考研] 328,0703考生求调剂,一志愿为东北师范大学 +4 观素律 2026-03-09 5/250 2026-03-14 01:24 by JourneyLucky
[考研] 求调剂 +6 yfihxh 2026-03-09 6/300 2026-03-14 01:18 by JourneyLucky
[考研] 考研材料与化工,求调剂 +8 戏精丹丹丹 2026-03-09 8/400 2026-03-14 01:14 by JourneyLucky
[考研] 材料工程调剂 +9 咪咪空空 2026-03-12 9/450 2026-03-13 22:05 by 星空星月
[考研] 求材料调剂 +5 隔壁陈先生 2026-03-12 5/250 2026-03-13 22:03 by 星空星月
[考研] 333求调剂 +3 球球古力 2026-03-11 3/150 2026-03-13 21:27 by JourneyLucky
[考研] 材料与化工085600调剂求老师收留 +9 jiaanl 2026-03-11 9/450 2026-03-13 20:22 by JourneyLucky
[考研] 【0856】化学工程(085602)313 分,本科学科评估A类院校化学工程与工艺,诚求调剂 +7 小刘快快上岸 2026-03-11 7/350 2026-03-13 16:06 by ruiyingmiao
[考研] 一志愿山大07化学 332分 四六级已过 本科山东双非 求调剂! +3 不想理你 2026-03-12 3/150 2026-03-13 14:18 by JourneyLucky
[论文投稿] 投稿问题 5+4 星光灿烂xt 2026-03-12 6/300 2026-03-13 14:17 by god_tian
[考研] 26考研求调剂 +5 丶宏Sir 2026-03-13 5/250 2026-03-13 13:05 by JourneyLucky
[考研] 0703一志愿211 285分求调剂 +4 ly3471z 2026-03-13 4/200 2026-03-13 13:00 by JourneyLucky
[考研] 270求调剂 085600材料与化工专硕 +3 YXCT 2026-03-11 3/150 2026-03-13 10:13 by houyaoxu
[考研] 0857 资源与环境 285分 +6 未名考生 2026-03-09 6/300 2026-03-11 21:08 by 30660438
[考研] 083000环境科学与工程调剂 +8 mingmingry 2026-03-09 9/450 2026-03-11 10:23 by 沙漠之狐994
[考研] 0703化学调剂 +3 三dd. 2026-03-10 3/150 2026-03-10 15:45 by peike
信息提示
请填处理意见