gpt4 book ai didi

c - F90读取C数据文件

转载 作者:太空狗 更新时间:2023-10-29 15:39:40 25 4
gpt4 key购买 nike

我不是编程专家,但有一些经验。一个多星期以来,我一直在尝试将数据文件从 C 读入 Fortran 程序。 C程序将一个矩阵保存在一个bin格式的数据文件中,如下所示:

FILE * amatFile;
amatFile = fopen("A.dat","wb");
for(krowa=0;krowa<N2;krowa++){
fwrite(amat[krowa], sizeof(float), S2, amatFile);
}
fclose(amatFile);

我在 F90 中的阅读部分是:

open(unit=1,file='AMAT.dat',form='unformatted')
DO i = 1,M
Do j = 1,N
READ(unit=1) AMAT(i,j)
A(i,j) = AMAT(i,j)
End do
End Do
close(1)

如果您能帮助我解决问题,我将不胜感激。

最佳答案

基于相当 detailed writup of Fortran IO ,我认为您误解了“未格式化”。未格式化并不意味着二进制,它只是意味着分隔文本。你的 C 程序肯定没有写定界符。如果可以更改 C 代码,最简单的解决方案是使用 fprintf 而不是 fwrite,并安排格式以匹配 Fortran IO 的期望。如果不能,那么我建议编写另一个 C 程序来读取现有程序的输出并写入一些与 Fortran 兼容的数据。

关于c - F90读取C数据文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3143263/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com