24小时热门版块排行榜    

查看: 1591  |  回复: 11

yazhouqin

木虫 (小有名气)

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

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

» 猜你喜欢

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

ok
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

浔荆

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +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的回帖

yazhouqin

木虫 (小有名气)

修改为这样,还是不行
fortran如何查找带空格的字符串-1
2015-11-10 10-26-35.jpg

ok
5楼2015-11-10 10:28:25
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

yazhouqin

木虫 (小有名气)

这是数据文件,想把里面数据读出来
fortran如何查找带空格的字符串-2
2015-11-10 10-30-13.jpg

ok
6楼2015-11-10 10:31:27
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

yazhouqin

木虫 (小有名气)

只要读出前面11个数据,不知道怎么弄
ok
7楼2015-11-10 10:32:31
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

浔荆

木虫 (正式写手)

【答案】应助回帖

引用回帖:
7楼: Originally posted by yazhouqin at 2015-11-10 10:32:31
只要读出前面11个数据,不知道怎么弄

从你的数据来看,NODE FOOT-并不在第一行,你需要逐行进行判断:
do
    read(11,‘(A80)’)buff
    key=...
    pos1=...
    pos2=...
    if(...)then
        read(11,*)
        read(11,*)
        do i=1,11
            ...
        enddo
    else
        cycle
    endif
enddo

字符串下面有两行是非数据行,因此你需要在循环前应该空读两次
8楼2015-11-10 12:04:47
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

浔荆

木虫 (正式写手)

【答案】应助回帖

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

yazhouqin

木虫 (小有名气)

好像是读取BUFF出了问题,我只读了一次,应该循环读才对?
ok
10楼2015-11-10 12:17:39
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 yazhouqin 的主题更新
信息提示
请填处理意见