回 帖 发 新 帖 刷新版面

主题:请教如何判断字符型数组中无值

以一个1维长度6的字符数组为例
character(len=6)::a(100)
需要判断当中某些位置无值应该如何判断
if用0和用空格都不对,应该如何判断或者该怎么做?
谢谢

回复列表 (共26个回复)

21 楼

我们知道 C 中的 字符串用 Null Char 结束,但 Fortran 不是。
我个人觉得楼主应该是解决初始化的问题,若是逐个比较字符串 
c(i : i) = c_null_char,这样出来的字符串 在 Fortran 中有什么意义呢?
我们完全可以把 Fortran 中的字符串每个字符都初始化为 C 中的 Null char,
因为 Null Char 在这两种语言中代表的含义不同。这样,这个字符串不是“有值”了吗?

欢迎讨论。

22 楼


谢谢,fortran66不带这个函数的话,请问可以在哪里可以下载到

23 楼

[quote]
谢谢,fortran66不带这个函数的话,请问可以在哪里可以下载到[/quote]

下不到 
iso_c_binding属于fortran2003标准的内置module(无显现的.mod),必须使用支持fortran2003的编译器,gfortran4.4.x和ivf11.x以上应该都没问题

24 楼

"fortran66", 见上帝了~

25 楼

[quote]"fortran66", 见上帝了~[/quote]
估计他说的是cvf6.6
不是fortran66标准

26 楼

不知道我理解对不对

character(len=6)::a(100),s

要判断a(i)中第j位是不是空,可以

先赋值s=a(i)
再判断if(s(j:j)='')

我来回复

您尚未登录,请登录后再回复。点此登录或注册