爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 2939|回复: 6

[求助] 批处理读不进去文件

[复制链接]

新浪微博达人勋

发表于 2016-9-25 23:05:43 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 freezyx 于 2016-9-25 23:07 编辑

各位,我想问一下我这个批处理程序,文件为什么读不进去呢??我有参照其他帖子,好像都是这样写的呀
文件名是S201609251023319840300
            S201609251023319840301
            S201609251023319840302。。。。。
而且最后输出也有问题
他提示E:\Fortran\Fortran-Program\CS.f90(34): error FOR3071: illegal data type in // operator (character concatenation)


[img]file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\1727330863\QQ\WinTemp\RichOle\107~F41FZ8[MGM5Q)A_5ZKI.png[/img][img=0,1]file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\1727330863\QQ\WinTemp\RichOle\107~F41FZ8[MGM5Q)A_5ZKI.png[/img]

捕获1.PNG
QQ图片20160925225318.png
捕获2.PNG
QQ图片20160925230803.png

CS.f90

1.14 KB, 下载次数: 1, 下载积分: 金钱 -5

DPm- 22.f90

2.61 KB, 下载次数: 1, 下载积分: 金钱 -5

密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2016-9-26 09:01:14 | 显示全部楼层
本帖最后由 言深深 于 2016-9-26 09:03 编辑

你的文件有没有后缀?是没有还是没有显示?
nums=0的意思是说你刚刚打开的这个文件里面有0行文件···


可能原因有2:
1,你的文件确实没有东西;
2,你的文件有后缀,你那么写程序的时候,等于新建了一个空文件,里面就没有东西。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-9-26 09:54:05 | 显示全部楼层
言深深 发表于 2016-9-26 09:01
你的文件有没有后缀?是没有还是没有显示?
nums=0的意思是说你刚刚打开的这个文件里面有0行文件···

...

版主说的不错,我打开文件里有数据,但它新建了一个同名的文件
但我昨天有加上后缀,不知道是不是下面的方式
open(13, file = 'E:\Fortran\Fortran-Program\'//fn(i)//'.txt')
但他提示
       4713
run-time error F6501: READ(E:\Fortran\Fortran-Program\S201609251023319840300.txt
)
- end of file encountered
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-9-26 13:23:34 | 显示全部楼层
言深深 发表于 2016-9-26 09:01
你的文件有没有后缀?是没有还是没有显示?
nums=0的意思是说你刚刚打开的这个文件里面有0行文件···

...

版主~~读入的那个问题已经解决了,多谢指点,是数组越界的问题,读文件的时候忘记把第一行的文字减去,i = 1, nums - 1  就好啦

但是还是那个问题
输出多个文件夹
open(11, file = 'E:\Fortran\Fortran-Program\data\outsta\'//station(m)//'.txt')这样写不对吗??

他总是提示E:\Fortran\Fortran-Program\CS.f90
E:\Fortran\Fortran-Program\CS.f90(34): error FOR3071: illegal data type in // operator (character concatenation)
E:\Fortran\Fortran-Program\CS.f90(34): error FOR3071: illegal data type in // operator (character concatenation)
Error executing fl32.exe.
谢谢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-9-26 13:56:09 | 显示全部楼层
言深深 发表于 2016-9-26 09:01
你的文件有没有后缀?是没有还是没有显示?
nums=0的意思是说你刚刚打开的这个文件里面有0行文件···

...

刚刚在想是不是因为fn(n)是integer的原因,我把它设为站号了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2016-9-26 15:14:23 | 显示全部楼层
freezyx 发表于 2016-9-26 13:56
刚刚在想是不是因为fn(n)是integer的原因,我把它设为站号了

//是字符串的连接符号,因此两侧只能连接字符
换而言之,你用到的station(m)需要是一个字符型数组才行,至于你如何将integer转换成字符型,有好多办法,例如直接赋值,write(station(m),"(i5)")fn(m),再者也可以read文件的时候直接read到字符型数组station里面,read(1,*)station(m)。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-9-26 16:24:59 | 显示全部楼层
言深深 发表于 2016-9-26 15:14
//是字符串的连接符号,因此两侧只能连接字符
换而言之,你用到的station(m)需要是一个字符型数组才行, ...

嗯嗯,多谢指点已解决,谢谢版主!!
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表