如何在C程序中访问perl控制台输出?

时间:2011-11-24 13:26:18

标签: c perl

我编写了一个嵌入perl解释器的C程序。

在C程序中调用Perl脚本。 Perl脚本在控制台上打印输出。

如何在我的C程序中访问它?

char* perl_script = "D:\\Perl Scripts\\Exif\\Image-ExifTool-8\.69\\exiftool ";
char* file = "D:\\pic2\.jpg";
//char* command_line[] = {"", "-e", "print \"Hello from C!\\n\";"};
char* command_line[] = {"", perl_script, file};
my_perl = perl_alloc();
perl_construct(my_perl);
perl_parse(my_perl, xs_init, 3, command_line, (char **)NULL);
perl_run(my_perl);

我没有在C中使用命令。我正在使用perl_run()。在这种情况下如何访问控制台输出?

2 个答案:

答案 0 :(得分:2)

如果它在GNU / Linux上运行,您可以使用popen()然后将其作为普通管道http://linux.die.net/man/3/popen

读取

答案 1 :(得分:1)

如果这是您在C程序中嵌入perl的唯一原因,那么最好不要使用它,并使用C库libexif