作者jsb (jsb)
看板Fortran
标题[问题] 如何读取以空白分隔的字串?
时间Mon Mar 9 20:06:10 2009
试过用这样的程式读取,
program strings
character*40 a(5)
open(1,file="t.txt",status='old')
read (1,'(5a)') (a(i),i=1,5)
do i=1,5
write (*,*) a(i)
end do
end
结果是 a(1) 就把五个字串读光光,
剩下的 a(2) 到 a(5) 都读到空字串。
难道真的要一个一个字元读,再自己整理出字串来吗?
应该有简单一点的方法吧?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.116.80.241
1F:→ blc:这是fortran的痛处… 03/09 20:21
2F:→ gilocustom:宣告时a阵列每个元素是a40,可是读档时5元素却只给5a? 03/09 22:41
3F:→ jsb:不知道长度的话是真的可以不用在型态後面加长度的。例如:3i 03/10 00:28
4F:→ jsb:就表示有三个不知道几位数的整数。 03/10 00:29
5F:→ gilocustom:不用'(5a)'改用*(自由格式)就可以略过空白了。 03/10 00:46
6F:→ jsb:原来这麽简单!多谢! 03/10 11:13