num2str(x)
入力として整数値または実数値を取り、文字列値を返すオーバーロードされた関数を作成しようとしています。これを行う目的は、ログ ファイルを書き込むときに使用することです。
以前の投稿 (ログ ファイルの作成)での提案に基づいてmessage(msglevel, string)
、ログ ファイルの書き込みに使用するサブルーチンを作成しました。現在、この関数には文字列のみを送信できます。を使用して文字列を簡単に作成できるようにしようとしていますnum2str(x)
。
どこからでもアクセスできるように、このコードをどこに配置すればよいか (サブルーチン内、モジュール内) を誰かに説明してもらえますか? この例を見ましたが、メインプログラムで使用されていますが、これはできません。
このアプローチが正しいかどうか教えてください。またnum2str(x)
、配列変数の文字列を返すように変更できるかどうかも知りたいです。
!GLOBAL FUNCTIONS
interface num2str
function num2str_int(number)
integer,intent(in)::number
character(len=*)::num2str_int
end function
character function num2str_real(number)
real::number
character(len=*)::num2str_real
end function
end interface
function num2str_int(number)
implicit none
integer,intent(in)::number
character(len=*)::num2str_int
write(num2str_int,'(I)')number
return
end function
character function num2str_real(number)
implicit none
real,intent(in)::number
character(len=*)::num2str_real
write(num2str_real,'(F6.4)')number
return
end function