簡體   English   中英

如何在Fortran中讀取類似文件的字符串

[英]How to read string like a file in Fortran

假設我有一個這樣的字符串:

character(20) :: str="&                                                                                                                 
&1.2 &                                                                                                                                  
&2. &                                                                                                                                   
&3.32 &                                                                                                                                 
&4.223 &                                                                                                                                
"

我怎樣才能像文件一樣讀取字符串?

例如,我試過了

program main
implicit none

character(20) :: str="&                                                                                                                 
&1.2 &                                                                                                                                  
&2. &                                                                                                                                   
&3.32 &                                                                                                                                 
&4.223 &                                                                                                                                
"

integer i
real a

do i=1,4
   read(str,*) a
   print*, a
end do

end program main

但我每次只獲得第一行

   1.200000    
   1.200000    
   1.200000    
   1.200000    

你的字符串中有四個real s,但你把它讀成一個真正的變量(四次)。 由於每次使用相同的字符串時,總會得到相同的結果。

也許你應該直接將字符串讀入數組(沒有循環):

real a(4)

read(str,*) a(1:4)

(您可以簡單地寫入read(str,*) a ,該范圍僅用於指示a是一個數組...)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM