主题:如何将生成文件存放到指定文件夹? (已解决 附答案)
NMRD
[专家分:40] 发布于 2011-08-05 22:05:00
小弟的程序运行后会生成N多需要的dat,但是这些生成的文件都在.for文件夹里,总是看起来乱糟糟...
可不可以指定生成到另外的文件夹中? (比如说在桌面上创建的文件夹)
还希望能详细说明一下。
多谢指教!
最后更新于:2011-08-10 22:20:00
回复列表 (共14个回复)
沙发
cgl_lgs [专家分:21040] 发布于 2011-08-05 23:26:00
改程序。
或是看看源码里是否支持执行期间指定文件夹。
板凳
臭石头雪球 [专家分:23030] 发布于 2011-08-06 08:01:00
Open(12,File='c:\document and setting\user\桌面\*.dat'
或者是编译以后把 exe 拷贝到其他文件夹再运行
3 楼
NMRD [专家分:40] 发布于 2011-08-08 00:43:00
多谢两位指教! 虽然还是没有完成纠错...
小弟的程序是这样的:
open(21, file='sum'//varnr//'.dat')
open(22, file='t1s'//varnr//'.dat')
open(23, file='t2s'//varnr//'.dat')
open(24, file='did'//varnr//'.dat')
open(25, file='sca'//varnr//'.dat')
根据两位的提示方 法 ,以第一行为例,小弟改成这样:
open(21, File='c:\document and setting\user\桌面\sum'//varnr//'.dat')
ctrl +F7 之后提示8个错误。
Error: Unterminated character constant
Error: Syntax error, found END-OF-STATEMENT when expecting one of: , )
Error: Unrecognized token '\' skipped
Error: Unterminated character constant
等等。
用的是 compaq visual Fortran 6.1.0 软件。
恳请各位师兄师姐赐教 !
4 楼
臭石头雪球 [专家分:23030] 发布于 2011-08-08 08:38:00
我这里没问题啊。
5 楼
NMRD [专家分:40] 发布于 2011-08-09 16:54:00
open(21, File='c:\document and setting\user\桌面\sum'//varnr//'.dat')
open(22, File='c:\document and setting\user\桌面\t1s'//varnr//'.dat')
open(23, File='c:\document and setting\user\桌面\t2s'//varnr//'.dat')
open(24, File='c:\document and setting\user\桌面\did'//varnr//'.dat')
open(25, File='c:\document and setting\user\桌面\sca'//varnr//'.dat')
依然纠错不能, 提示同样错误 - -lll
6 楼
helo_aBiNg [专家分:480] 发布于 2011-08-09 22:34:00
这类问题最好交给第三方程序实现。有 systemqq 调用 Windows CMD 命令建立文件夹,但它的参数似乎只能是字符常量,做不到动态建立。
如果是混编,就不要让 fortran 为难了;如果不是,老实手动建个文件夹吧。
7 楼
臭石头雪球 [专家分:23030] 发布于 2011-08-10 10:31:00
楼主的问题是:
Error: Unterminated character constant
Error: Syntax error, found END-OF-STATEMENT when expecting one of: , )
Error: Unrecognized token '\' skipped
Error: Unterminated character constant
这是编译错误,跟混编什么没关系。
说明楼主的语法写得有问题。我不知道楼主用的哪个编译器??发生错误的行是哪一行?确定是本行的么?
另外,反对楼上的说法。文件路径是操作系统的问题,语法并没有规定。文件名(含路径)是传递给操作系统的。Fortran完全可以自己去做。
就算用 cmd 新建文件夹, md 命令只接收字符常量,依然可以用Fortran构建 md 命令。动态建立完全可能。
[quote][font=宋体][color=#FF0000]Program [/color][color=#000000]Main
[/color][color=#FF0000]USE [/color][color=#000000]DFLIB
[/color][color=#FF0000]Implicit None
Character[/color][color=#000080]([/color][color=#800080]512[/color][color=#000080]) :: [/color][color=#000000]c
[/color][color=#FF0000]Integer [/color][color=#000000]i [/color][color=#000080], [/color][color=#000000]iRes
[/color][color=#FF0000]Do [/color][color=#000000]i [/color][color=#000080]= [/color][color=#800080]1 [/color][color=#000080], [/color][color=#800080]5
[/color][color=#FF0000]Write[/color][color=#000080]([/color][color=#000000]c[/color][color=#000080],*) [/color][color=#000000]i
iRes [/color][color=#000080]= [/color][color=#000000]SystemQQ[/color][color=#000080]( [/color][color=#808080]"md "[/color][color=#000080]//[/color][color=#FF0080]Trim[/color][color=#000080]([/color][color=#000000]c[/color][color=#000080]) )
[/color][color=#FF0000]End Do
End Program [/color][color=#000000]Main[/color][/font][/quote]
8 楼
helo_aBiNg [专家分:480] 发布于 2011-08-10 11:42:00
嗯,与混编当然无关,我只是假设而已。要谢谢你的 md 动态参数调用方式,受用。
9 楼
bshine1225 [专家分:720] 发布于 2011-08-10 13:13:00
楼主把路径改一下,不要用中文名,试一试。
10 楼
NMRD [专家分:40] 发布于 2011-08-10 16:52:00
问题已解决, 其实很- -lll.请看:
(软件是 compaq visual Fortran 6.1.0)
我用的是90, 导师老爷爷用的是77, 源程序当然也是77---
换行的时候不能用&...
open(21, File='c:\document and setting\user\
1desktop\sum'//varnr//'.dat')
写成这样就行了.
应该和语言无关, 我是用英文系統電腦 (没中文).
(于是乎...为了回帖必须善用GOOGLE的拼音to汉字功能 = =)
多谢各位师兄师姐的帮助!
我来回复