fuchuan 发表于 2014-3-9 14:28:29

fortran变量的内存大小限制

问题是这样的,要读一行很长很长的文本文件,大概四千个字符长度后才遇到回车换行,:implicit none ; character(len=4200) sline;read(11,*)sline!从11号文件中读;结果出错,编译器是Fps4.0;如何解决呢?有劳,请诸位指点,谢谢

楚香饭 发表于 2014-3-9 14:31:26

怎么个出错法?文件中是什么内容?你读出来是什么内容?

如果文件中有空格,或者 / 你需要用格式符读出。例如

read(11,'(a4200)' ) sline

fuchuan 发表于 2014-3-9 14:48:53

本帖最后由 fuchuan 于 2014-3-9 14:56 编辑

chuxf 发表于 2014-3-9 14:31
怎么个出错法?文件中是什么内容?你读出来是什么内容?

如果文件中有空格,或者 / 你需要用格式符读出。 ...
93:000;000;000;003;001;001;000;000;000;000;000;000;000;000;000;000;000;000;000;000;000;000;000;000;(如此等等……)按这样一个格式用文本编辑器可以观察到最后一个分号到4100列;我的思路是声明一个很长的字符串变量,然后用分号不断的拆分字符串变量获取数据,不好意思,错误提示有点忘了;但是我删掉一部分数据后变成一个短些的数据行,可以读,所以我怀疑这个变量长度超出编译器设置

楚香饭 发表于 2014-3-9 14:55:42

我这里试了下,是可以读出来的。

你读的时候有什么错误?有错误提示吗?还是说,结果不让你满意,你得到的结果是怎么样的?

fuchuan 发表于 2014-3-9 15:10:48

chuxf 发表于 2014-3-9 14:55
我这里试了下,是可以读出来的。

你读的时候有什么错误?有错误提示吗?还是说,结果不让你满意,你得到的 ...


错误提示:Unhandled exception in split.exe:oxC0000005:Access voilation;    (split.exe是我的程序名)谢谢

楚香饭 发表于 2014-3-9 15:13:22

fuchuan 发表于 2014-3-9 15:10
错误提示:Unhandled exception in split.exe:oxC0000005:Access voilation;    (split.exe是我的程序名 ...

这不是我所希望看到的。

建议你截个图(黑色窗口的截图)

fuchuan 发表于 2014-3-9 15:43:42

本帖最后由 fuchuan 于 2014-3-9 16:02 编辑

chuxf 发表于 2014-3-9 15:13
这不是我所希望看到的。

建议你截个图(黑色窗口的截图)
D:\fortran\Projects\split\er1.png;]D:\fortran\Projects\split\error.png数据文件:93:到最后一个分号实际是一行,被记事本自动换行功能分隔成了多行现在问题描述够清楚了吧,呵呵

fcode 发表于 2014-3-9 15:45:33

请使用上传附件功能上传图片

fcode 发表于 2014-3-9 16:09:48

fuchuan 发表于 2014-3-9 15:43
]D:\fortran\Projects\split\error.png数据文件:93:到最后一个分号实际是一行,被记事本自动换行功 ...

你能看到黑色的console窗口吗?对那个窗口截图

fuchuan 发表于 2014-3-9 16:11:24

fcode 发表于 2014-3-9 16:09
你能看到黑色的console窗口吗?对那个窗口截图

控制台窗口什么反应没有,黑色无内容驻留。不反应我就关闭了
页: [1] 2
查看完整版本: fortran变量的内存大小限制