将C文件指针地址转换为整数

Cor*_*ack 3 c pointers

我有一个 C 文件指针,必须将其传递给 Fortran77 程序(作为整数),然后才能在 C 程序中再次使用(作为文件指针)以将更多数据写入文本文件。我的 C 技能已经过时了,因为我已经忘记了大部分内容。谁能告诉我如何将 C FILE 指针转换为整数并返回?我将不胜感激你的帮助。

我正在维护一个遗留代码,该代码在 10 年前的编译器上运行良好(偶然)。我在移植代码时遇到问题。新的编译器是 intel C 和 Fortran 编译器。

我知道 Fortran 2003 为 C 提供了 ISO 绑定,但由于其他原因我不能在这里使用它们。

Ja͢*_*͢ck 5

FILE *int

int fildes = fileno(f);
Run Code Online (Sandbox Code Playgroud)

intFILE *

FILE *f = fdopen(fildes, "r+");
Run Code Online (Sandbox Code Playgroud)