我有一个字符数组 names(10)* 6 。我循环通过I = 1:10并写出名称(I)的值。
问题是名称会定期缺少值,如果是特定名称(I)的情况,我想跳过它。
我试图做这样的事情。
IF(names(I) .NE. 0) THEN
WRITE(4,202) names(I)
ENDIF
我收到一个错误告诉我,我很难将字符与0进行比较。这是有道理的。 我该怎么比较呢?像这样空的空间?在我为其声明空间后,如何检查它是否未定义或为空?
IF(mychar(I) .NE. ' ') THEN
WRITE(4,202) names(I)
ENDIF
目标是仅在实际存在某些内容时才发出write命令。 : - )
编辑注意:我可能不会初始化此数组。我想知道未定义的声明索引的默认值是什么,或者是否有一个函数来检查字符数组索引是否为空。
答案 0 :(得分:0)
您可能对内在len_trim
函数感兴趣。一如既往地阅读Fortran手册。