作者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