主题:请教如何判断字符型数组中无值
			 lee1985
				 [专家分:0]  发布于 2010-11-18 17:20:00
 lee1985
				 [专家分:0]  发布于 2010-11-18 17:20:00							
			以一个1维长度6的字符数组为例
character(len=6)::a(100)
需要判断当中某些位置无值应该如何判断
if用0和用空格都不对,应该如何判断或者该怎么做?
谢谢
						
					 
		
			
回复列表 (共26个回复)
		
								
				21 楼
				
					 asymptotic [专家分:16630]  发布于 2010-11-19 23:35:00
asymptotic [专家分:16630]  发布于 2010-11-19 23:35:00				
				我们知道 C 中的 字符串用 Null Char 结束,但 Fortran 不是。
我个人觉得楼主应该是解决初始化的问题,若是逐个比较字符串 
c(i : i) = c_null_char,这样出来的字符串 在 Fortran 中有什么意义呢?
我们完全可以把 Fortran 中的字符串每个字符都初始化为 C 中的 Null char,
因为 Null Char 在这两种语言中代表的含义不同。这样,这个字符串不是“有值”了吗?
欢迎讨论。
							 
						
				22 楼
				
					 lee1985 [专家分:0]  发布于 2010-11-21 20:19:00
lee1985 [专家分:0]  发布于 2010-11-21 20:19:00				
				
谢谢,fortran66不带这个函数的话,请问可以在哪里可以下载到
							 
						
				23 楼
				
					 dongyuanxun [专家分:7180]  发布于 2010-11-21 20:53:00
dongyuanxun [专家分:7180]  发布于 2010-11-21 20:53:00				
				[quote]
谢谢,fortran66不带这个函数的话,请问可以在哪里可以下载到[/quote]
下不到 
iso_c_binding属于fortran2003标准的内置module(无显现的.mod),必须使用支持fortran2003的编译器,gfortran4.4.x和ivf11.x以上应该都没问题
							 
						
				24 楼
				
					 yeg001 [专家分:14390]  发布于 2010-11-21 22:18:00
yeg001 [专家分:14390]  发布于 2010-11-21 22:18:00				
				"fortran66", 见上帝了~
							 
						
				25 楼
				
					 dongyuanxun [专家分:7180]  发布于 2010-11-21 22:45:00
dongyuanxun [专家分:7180]  发布于 2010-11-21 22:45:00				
				[quote]"fortran66", 见上帝了~[/quote]
估计他说的是cvf6.6
不是fortran66标准
							 
						
				26 楼
				
					 aia741 [专家分:20]  发布于 2010-11-22 12:40:00
aia741 [专家分:20]  发布于 2010-11-22 12:40:00				
				不知道我理解对不对
character(len=6)::a(100),s
要判断a(i)中第j位是不是空,可以
先赋值s=a(i)
再判断if(s(j:j)='')
							 
									
			
我来回复