Fortran Coder

查看: 10659|回复: 9
打印 上一主题 下一主题

[文件读写] 从顺序文件读取数据用于递归计算,栈堆溢出,求大大指点!!!

[复制链接]

1963

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1357 元
贡献
574 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

楼主
发表于 2015-5-18 20:39:07 | 显示全部楼层
那 so easy,一共才
5*20000 = 10W个数字,算32位4字节,一共40W个字节,也就是390KB而已。

1963

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1357 元
贡献
574 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

沙发
发表于 2015-5-18 22:56:17 | 显示全部楼层
第一,未知行数列数
http://fcode.cn/code_gen-34-1.html
参考这个代码。这个代码是获得了行数,和每一行的列数。如果你确定每一行的列数都一样,那么只调用一次就行了。(大多数数据是这样)

第二,不要在迭代中每次都去读取文件,非常慢,效率非常低,低到你不忍直视。
你要理解,文件输入输出,是极慢的。所以,要尽量避免重复的输入输出。(像你每次迭代都重新读一次文件,就非常浪费,非常浪费)

第三,除非文件非常大,一般都一次性读到内存里,当做一个数组(或其他结构)

第四,对文本文件来说,你想直接读取(access="direct")某个数据,前提是每一行的长度是一样的,这样编译器可以通过每行长度*行数直接定位到第N行。否则,不要去试图用循环的方式去“直接”读取。(理由同第二条)
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-6 10:02

Powered by Tencent X3.4

© 2013-2024 Tencent

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