首页 文章

C / C和Fortran写入同一文件

提问于
浏览
2

我有一个C / C库,其函数在Fortran程序中调用 . 我想在我的库中生成一些在Fortran程序输出的同一文件上生成的输出 . 我试图传递文件名,在C中打开它,写入它,最后用这个示例代码关闭它:

std::ofstream output;
output.open(name, ofstream::out | ofstream::app);

/*
   Some calculations...
 */    

output << "Result is " << result << std::endl;

output.close();

什么都没有写入文件,除非我删除ofstream :: app但是Fortran代码编写的大部分内容都被销毁了......我也尝试使用类似示例代码的fprintf:

FILE * pFile = fopen(name, "a");

 /*
   Some calculations...
 */    

fprintf(pFile, "Result is = %.10E", result);

fclose(pFile);

结果相同 . 有关如何做到这一点的任何线索?

1 回答

  • 4

    即使您找到了如何为一组运行时库执行此操作的方法,它也可能会失败(例如,不同的编译器集合)或其他操作系统...不要这样做,将要写入的数据传递给最初打开文件的系统的一部分 .

相关问题