我想訪問一個名稱等於我擁有的字符串的實際變量。像這樣的東西(我將讓這個例子儘可能乾淨):在Fortran中將字符串解釋爲變量名稱
character(len=5) :: some_string
real :: value
value = 100.0
some_string = 'value'
在這一點上,我該如何創建字符數組value
和我的真實變量的名稱,值之間的關聯,從而使我可以通過參考字符串some_string
來寫入100.0的值?
我想訪問一個名稱等於我擁有的字符串的實際變量。像這樣的東西(我將讓這個例子儘可能乾淨):在Fortran中將字符串解釋爲變量名稱
character(len=5) :: some_string
real :: value
value = 100.0
some_string = 'value'
在這一點上,我該如何創建字符數組value
和我的真實變量的名稱,值之間的關聯,從而使我可以通過參考字符串some_string
來寫入100.0的值?
這是我如何解決此問題:
character(100) :: s
integer :: val
val = 100
write(s,*) val
print *,trim(s)
這將打印100到屏幕上。然而有一些我不明白的奇怪,角色需要非常大(在他的情況下爲100)。例如,如果您使用3而不是100,則不起作用。這不是一件關鍵的事情,因爲修剪的使用修復了這個問題,但如果有人能夠回答爲什麼會這樣,那將會很好。
無論哪種方式,這應該工作。
我關閉了這個稍微老一點的問題,因爲這個問題很長一段時間沒有正確標記,另一個問題得到了更多的關注和更好的答案。儘管如此,這個人的頭銜更好。有什麼異議? – 2017-12-09 14:53:21