0

我最近创建了一个简单的程序,它遍历数值计算,将结果写入 3 个文件,然后将这些文件传递给 Gnuplot。作为一个命令行工具,一切似乎都可以工作,但我已经将所有相同的代码移到了一个在 Xcode 上具有简单界面的程序中,并且我没有得到任何图形输出。我在调试器中逐步执行了程序,一切似乎都在工作(到 gnuplot 的管道、文件、所有对象似乎都已创建,并且一切都按预期的顺序发生),但没有可见的输出。下面的代码应该仍然有效吗?

FILE *SomeFile=fopen("SomeFile.txt", "w");
fprintf(SomeFile, "%g\t", SomeNumber);
FILE *pipe=popen("gnuplot", "w");

fprintf(pipe, "plot \"%s\"\n", [filename UTF8String])

其中 NSString 文件名中的文件名是 SomeFile.txt 。

这在命令行程序中运行良好,知道我现在哪里出错了吗?

4

1 回答 1

0

确保在告诉 gnuplot 读取数据文件之前刷新数据文件,否则,gnuplot 可能会看到一个空的数据文件:

fprintf(SomeFile, "%g\t", SomeNumber);
fflush(SomeFile);
于 2012-10-18T21:13:01.710 回答