我最近创建了一个简单的程序,它迭代数值计算,将结果写入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。
这在命令行程序中运行良好,任何我现在出错的想法?
答案 0 :(得分:0)
确保在告诉gnuplot读取之前刷新数据文件,否则gnuplot可能会看到一个空的数据文件:
fprintf(SomeFile, "%g\t", SomeNumber);
fflush(SomeFile);