我有一个 C 文件指针,必须将其传递给 Fortran77 程序(作为整数),然后才能在 C 程序中再次使用(作为文件指针)以将更多数据写入文本文件。我的 C 技能已经过时了,因为我已经忘记了大部分内容。谁能告诉我如何将 C FILE 指针转换为整数并返回?我将不胜感激你的帮助。
我正在维护一个遗留代码,该代码在 10 年前的编译器上运行良好(偶然)。我在移植代码时遇到问题。新的编译器是 intel C 和 Fortran 编译器。
我知道 Fortran 2003 为 C 提供了 ISO 绑定,但由于其他原因我不能在这里使用它们。
从FILE *到int
int fildes = fileno(f);
从int到FILE *:
FILE *f = fdopen(fildes, "r+");