我编写了一个嵌入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()
。在这种情况下如何访问控制台输出?
答案 0 :(得分:2)
如果它在GNU / Linux上运行,您可以使用popen()
然后将其作为普通管道http://linux.die.net/man/3/popen
答案 1 :(得分:1)
如果这是您在C程序中嵌入perl
的唯一原因,那么最好不要使用它,并使用C库libexif。