我想创建一个重载函数num2str(x)
将于整数或实值作为输入,并返回一个字符串值中使用。我这样做的目的是在写日志文件时使用它。创建一个重载函数在消息记录
根据我以前的文章(creating log file)给出的建议 我创建了一个子程序message(msglevel, string)
,我正在使用它来编写我的日志文件。现在我只能发送一个字符串到这个函数,我正在试图使用num2str(x)
来创建一个字符串变得很容易。
有人能解释我,我应该在哪里把这个代码(在子程序,模块中),所以我可以从任何地方访问它。我看到了这个example,但它在主程序中使用它,我不能这样做。
请让我知道,如果这种做法是correct.I也想知道我是否可以修改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
你有没有尝试在模块中定义它并从那里使用它,如果是的话,是什么问题? – milancurcic