作者zmack0905 (降太)
看板Fortran
标题[问题] 有关於回圈格式输出的问题
时间Wed Jul 3 21:02:13 2013
1.我要输出的资料每笔都有点长
分别有座标(X,Y)跟24个测量值,需要写在同一行方便我後面作业
虽然都写在同一次WRITE里面
用vi开来看发现仍然超过76格会强迫换行
请问这是只能用自订格式去克服吗?还是可以取消强迫换行?
(ADVANCE='no'应该是针对每次write不是单次write吧?)
2.
当我把资料原本的方式输出
DO i=1,24
WRITE(11,*)i
READ(10,100)date,time,date,time
READ(10,*)spec
DO j=1,L
READ(10,*)s1(j,i),s1(j+1,i),s1(j+2,i),s1(j+3,i),s1(j+4,i)
WRITE(11,*)s1(j,i),s1(j+1,i),s1(j+2,i),s1(j+3,i),s1(j+4,i)
END DO
IF(F2==1) THEN
READ(10,*)s1(L*5+1,i)
END IF
IF(F2==2) THEN
READ(10,*)s1(L*5+1,i),s1(L*5+2,i)
END IF
IF(F2==3) THEN
READ(10,*)s1(L*5+1,i),s1(L*5+2,i),s1(L*5+3,i)
WRITE(11,*)s1(L*5+1,i),s1(L*5+2,i),s1(L*5+3,i)
END IF
IF(F2==4) THEN
READ(10,*)s1(L*5+1,i),s1(L*5+2,i),s1(L*5+3,i),s1(L*5+4,i)
END IF
END DO
都可以把我约五万笔的资料输出
但为了加上座标 把上面的WRITE都拿掉
改用这样
!i=1
!DO UTM_N=1,LONG
! DO UTM_E=1,WIDE
! WRITE(11,*)UTM_N,UTM_E,i,s1(i,1:24)
! i=i+1
! END DO
! END DO
!
!
!DEALLOCATE(s1)
(请当作没看到惊叹号囧....)
大约第415组的座标(约第9960笔测量值)後的测值全部都变成了-4.3160208E+08...
这是发生什麽悲剧了QAQ.....?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.120.29.185
1F:推 charlesdc:1.自订格式也有上限2XX忘了 2.自己的format只有自己懂 07/03 22:16
2F:→ charlesdc:所以你先弄个format来看看是不是资料读错了吧 07/03 22:17
3F:→ charlesdc:不然大概就是read近来的时候型态不符 07/03 22:19
数值都是小数七位科学记号,READ用预设型态(*)
而且现在的状况是两种写出方式一个对一个错...囧
4F:→ Cypresslin:是不是你的i爆了 07/03 23:56
没有 总比数2068 回报数量2069(第2069是跳爽的,回圈在2068写完就停了)
※ 编辑: zmack0905 来自: 140.120.29.185 (07/04 11:28)
5F:推 charlesdc:default的format可能不那麽可靠 07/04 13:07
6F:→ charlesdc:你检查看看座标後面的带的资料是否正确 07/04 13:07
7F:→ charlesdc:deafult的判断资料断点好像是space 还是tab or , 忘了 07/04 13:08
8F:→ charlesdc:所以顺便检查一下你的input data面有没有整串的空白 07/04 13:09
9F:→ charlesdc:或是会被认为是断点的符号 07/04 13:10
=糟糕..我在确认下
10F:→ pillbox1989:我常用default 确定断点符号可以是space也可以是, 07/04 19:38
11F:→ Cypresslin:Q1: 要知道资料是不是在同一行请看右下角数字 如果没有 07/04 23:10
12F:→ Cypresslin:数字请在vim中:set ruler 有时只是不够显示所以换行 07/04 23:12
有用VI看 确定输出资料都被分好几行了....
看来我可能要放弃输出成一行长长了囧
※ 编辑: zmack0905 来自: 140.120.29.185 (07/05 13:46)