2017-08-20 46 views
1

コマンドライン引数を操作する方法は?私はcharacter型有し$xargとして渡す、私は./te.shを実行すると、私は、数としてargを操作する Fortranで文字を整数に変換する方法は?


te.f90

program print_ 
    integer :: i 
    character(len = 32) :: arg 
    i = 1 
    Do 
     call get_command_argument(i, arg) 
     if (len_trim(arg) == 0) exit 
      write(*,*) trim(arg) 
      write(*,*) trim(arg)**2 
      i = i + 1 
    end do 
    end program print_ 


te.sh

#!/bin/bash 

for ((x = 1; x <=3; x++)) 
do 
    ./te $x 
done 

例えば 、IエラープロモーションOperands of binary numeric operator '**' at (1) are CHARACTER(1)/INTEGER(4)を取得しました。

どのように対処しますか?

答えて

1

文字列(arg)を整数に変換する必要があります。

program print_ 
    integer :: i, iarg 
    character(len = 32) :: arg 
    i = 1 
    Do 
     call get_command_argument(i, arg) 
     if (len_trim(arg) == 0) exit 
      write(*,*) trim(arg) 
      read(arg,"(I)") iarg 
      write(*,*) iarg**2 
      i = i + 1 
    end do 
end program print_ 
関連する問題