我正在使用Fortran 90.我有一個字符串,聲明爲CHARACTER(20) :: Folds
,它的命令行參數的值爲x:y:z
,其中x,y和z都是整數。然後我需要從該字符串中挑出數字並將它們分配給適當的變量。這是我試圖做它:從Fortran中的字符串中提取整數
i=1
do j=1, LEN_TRIM(folds)
temp_fold=''
if (folds(j).neqv.':') then
temp_fold(j)=folds(j)
elseif (i.eq.1) then
read(temp_fold,*) FoldX
i=i+1
elseif (i.eq.2) then
read(temp_fold,*) FoldY
i=i+1
else
read(temp_fold,*) FoldZ
endif
enddo
當我編譯這個我得到的錯誤:
unfolder.f90(222):錯誤#6410:這個名字還沒有被宣佈爲一個數組或一個函數。 [FOLDS]
[stud2 @費曼vec2ascii] $如果(倍(J).neqv。 ':'),然後 附近意外的標記`Ĵ語法錯誤」 [stud2 @費曼vec2ascii] $ ----- ---^
unfolder.f90(223):錯誤#6410:此名稱尚未聲明爲數組或函數。 [TEMP_FOLD]
[stud2 @費曼vec2ascii] $ temp_fold(J)=倍(J)
語法錯誤附近意外的標記'J」
我如何可以提取這些數字?
我可以建議你讓編譯器輸出更清晰,以利於後代?我本來想去嘗試一下,但最好是把它做好。 – francescalus