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);

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

4

1 回答 1

4

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

于 2013-08-27T13:39:13.010 回答