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