文件/管道编写一个简单的接口程序

时间:2012-10-18 03:27:30

标签: pipe gnuplot

我最近创建了一个简单的程序,它迭代数值计算,将结果写入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。

这在命令行程序中运行良好,任何我现在出错的想法?​​

1 个答案:

答案 0 :(得分:0)

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

fprintf(SomeFile, "%g\t", SomeNumber);
fflush(SomeFile);