Fortran Coder

标题: Fortran直接读取压缩文件 [打印本页]

作者: pengfukai    时间: 2015-11-15 08:31
标题: Fortran直接读取压缩文件
各位大侠,我想问下如何用Fortran直接读取压缩文件,而不是先解压缩,在读文件内容呢?先解压缩再读取会遇到一个问题,就是压缩时间不好确定,
有没有函数可以判断是否解压成功呢?

作者: 楚香饭    时间: 2015-11-15 09:12
Fortran语法中没有这类函数。

你使用什么操作系统?什么方式来运行解压程序?何种解压程序?何种压缩格式?这可能都会影响你的问题如何解决。
作者: pasuka    时间: 2015-11-15 16:42
会F与C混合编程的话,直接上zlib
作者: pengfukai    时间: 2015-11-16 12:49
楚香饭 发表于 2015-11-15 09:12
Fortran语法中没有这类函数。

你使用什么操作系统?什么方式来运行解压程序?何种解压程序?何种压缩格式 ...

操作系统是win7,我是用call system来运行winrar,解压格式是zip
作者: pengfukai    时间: 2015-11-16 12:51
pasuka 发表于 2015-11-15 16:42
会F与C混合编程的话,直接上zlib

有没有代码可供参考呢?
作者: fcode    时间: 2015-11-16 14:06


我手边没有WinRAR,用 7zip 试了一下,可以实现先解压,然后再接着计算。并且有返回值,是0的话,表示正常解压结束。否则表示中途出错。
[Fortran] 纯文本查看 复制代码
use dfport
integer :: i
pause
i = system("C:\Progra~1\7-Zip\7z.exe a -t7z 1.7z 2.exe")
write(*,*) i
end




作者: pasuka    时间: 2015-11-16 22:01
pengfukai 发表于 2015-11-16 12:51
有没有代码可供参考呢?

zlib主页上面就有很多C的例子,F与C混编并不复杂或者高深,尤其是gcc系列的编译器
作者: pengfukai    时间: 2015-11-17 07:19
fcode 发表于 2015-11-16 14:06
我手边没有WinRAR,用 7zip 试了一下,可以实现先解压,然后再接着计算。并且有返回值,是0的话,表示正 ...

非常感谢你的帮助!我测试了一下,7-Zip在解压和压缩过程中好像不会出现多线程的问题,而是一个文件压缩(解压)完成了之后再进行下一个文件,非常方便也节省时间。另外,我想问一下,system这个函数好像在dfport,dflib,以及不引用外部库文件是也有,请问这3者之间有什么区别吗?如果我想学习这几个库文件内函数的用法,有什么好的方法吗?谢谢!~
作者: pengfukai    时间: 2015-11-17 07:20
pasuka 发表于 2015-11-16 22:01
zlib主页上面就有很多C的例子,F与C混编并不复杂或者高深,尤其是gcc系列的编译器 ...

好的,谢谢~,英语还不是太好,读起来有点吃力~
作者: 楚香饭    时间: 2015-11-17 09:28
没有区别。实际就一个 system




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2