24小时热门版块排行榜    

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

709944890

金虫 (小有名气)

[求助] 屏幕输入地址变量 已有1人参与

请教fortran高手指点,我想要在屏幕上输入地址,如D:\wour\cddlsi\ppt.txt, 用了下面的语句,编译的时候没有报错,但是屏幕输入完不能运行。

character(len=35) address               
read*,address
        open(1,file="address"
回复此楼
坚持,淡定,信念
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

709944890

金虫 (小有名气)

引用回帖:
6楼: Originally posted by 问天阁 at 2016-11-17 09:34:36
借用机器符就行

不懂。。。。

发自小木虫Android客户端
坚持,淡定,信念
9楼2016-11-17 15:56:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 13 个回答

7152075

铁杆木虫 (著名写手)

解决问题的方法比遇到的问题多

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
709944890: 金币+10, ★★★很有帮助 2016-11-17 20:10:51
这个明显是错误的,因为你open的文件名称叫address,不是你输入路径的名称。想要实现你的那个功能,可以利用内部文件去实现。比如你在某个路径下建一个txt文档,里面第一行写上一个数字(我传附件中,仅仅为了举例而已)。代码如下:
program example
    implicit none
    character( len=125 ) str,cstr
    integer i
    write( *,* ) 'Input the adress:'
    read( *,* ) str
    write( cstr,* ) adjustl(trim(str)) !//内部文件书写格式,把str赋值给cstr
    open( 1,file=cstr )
    read( 1,* ) i
    write( *,* ) i
    end program example
PS:给你一个建议,其实路径你是不用自己去输入的,运行时出现黑框后,把那个文件直接拖入黑框中,路径自然产生。

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : 1.txt
  • 2016-11-14 18:11:40, 1 bytes
Chemistry
2楼2016-11-14 18:11:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

709944890

金虫 (小有名气)

引用回帖:
2楼: Originally posted by 7152075 at 2016-11-14 18:11:45
这个明显是错误的,因为你open的文件名称叫address,不是你输入路径的名称。想要实现你的那个功能,可以利用内部文件去实现。比如你在某个路径下建一个txt文档,里面第一行写上一个数字(我传附件中,仅仅为了举例而 ...

Compiling Fortran...
C:\MSDEV\Projects\test\Text2.f90
C:\MSDEV\Projects\test\Text2.f90(7): error FOR1127: internal compiler error
Internal Error -- please report this bug
Command line error D2013: internal compiler error.
Error executing fl32.exe.
Text2.obj - 3 error(s), 0 warning(s)

再请问一下,我在编译的时候出现上面的错误,提示 write( cstr,* ) adjustl(trim(str)) !//内部文件书写格式,把str赋值给cstr,这一行。

因为我不知道 write( cstr,* ) adjustl(trim(str))的具体含义,我就按照自己的意思改了一下
program example
    implicit none
    character( len=125 ) str
    integer i
    write(*,*) 'Input the adress:'
    read(*,*) str
    adjustl(trim(str)) !//内部文件书写格式,把str赋值给cstr
    open(1,file=str )
    read(1,*) i
    write(*,*) i
    end program example
然后报错,
Compiling Fortran...
C:\MSDEV\Projects\test\Text2.f90
C:\MSDEV\Projects\test\Text2.f90(7): error FOR2934: lexical error: Unrecognized statement
C:\MSDEV\Projects\test\Text2.f90(7): error FOR3852: syntax error
Error executing fl32.exe.
Text2.obj - 2 error(s), 0 warning(s)
问题同样出在那一行。
期待您的解答!
坚持,淡定,信念
3楼2016-11-16 21:58:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

7152075

铁杆木虫 (著名写手)

解决问题的方法比遇到的问题多

【答案】应助回帖

引用回帖:
3楼: Originally posted by 709944890 at 2016-11-16 21:58:01
Compiling Fortran...
C:\MSDEV\Projects\test\Text2.f90
C:\MSDEV\Projects\test\Text2.f90(7): error FOR1127: internal compiler error
Internal Error -- please report this bug
Command line error D201 ...

这个怪我了,内部文件那里的注释我是后添加上的,是个中文感叹号,改成英文感叹号就没问题了,sorry。
program example
    implicit none
    character( len=125 ) str,cstr
    integer i
    write( *,* ) 'Input the adress:'
    read( *,* ) str
    str=adjustl( trim ( str ) )
    write( cstr,* ) str !//内部文件书写格式,把str赋值给cstr
    open( 1,file=cstr )
    read( 1,* ) i
    write( *,* ) i
    end program example
Chemistry
4楼2016-11-17 08:22:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见