24小时热门版块排行榜    

查看: 1590  |  回复: 11
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

yazhouqin

木虫 (小有名气)

[求助] fortran如何查找带空格的字符串

请教:如果dat文件中有“NODE FOOT-”字符串,我想用fortran程序查找到它,应该怎么写呢?
我这样写好像不行
CHARACTER*80  BUFF
READ(11,*) BUFF
IF(BUFF=="NODE  FOOT_" THEN
主要是字符间存在空格,请问怎么办
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

ok
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

浔荆

木虫 (正式写手)

【答案】应助回帖

另外建议你设置设置断点进行逐行调试,这样可以跟踪变量随程序运行的变化,知道BUG出在哪里
9楼2015-11-10 12:07:59
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 12 个回答

浔荆

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
yazhouqin: 金币+20 2015-11-10 09:54:13
按你的描述,应该是“NODE FOOT-”字符串的位置固定在该行的最左端。
这样的话,你的判断条件改成以下格式就行了:
if(buff(1:10)=='NODE FOOT-')then
也就是截取字符串的1-10个字符进行判断,而非整个字符串进行判断。因为buff这个字符串长度为80,肯定不等于一个长度为10的字符串。
如果NODE FOOT-在行中的位置不固定就稍微麻烦点,先用index函数定位NODE FOOT-在字符串中的位置,然后从返回值位置开始往后推9个字符,以这个长度为10的子串来判断。
2楼2015-11-09 18:13:18
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

浔荆

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★
yazhouqin: 金币+5 2015-11-10 10:11:36
忘了说了,解决空格问题的办法是读取语句改成:
read(11,'(A80)')BUFF
3楼2015-11-09 18:14:52
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

yazhouqin

木虫 (小有名气)

您好,感谢您的指导,但是我改成这样还是不行,麻烦您再帮我看下,谢谢
fortran如何查找带空格的字符串
2015-11-10 10-09-49.jpg

ok
4楼2015-11-10 10:10:47
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见