如何在 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()
。在这种情况下如何访问控制台输出?
I have written a C program which embeds a perl
interpreter.
A Perl script is invoked inside the C program. The Perl script prints output on the console.
How can I access it in my C program?
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);
I am not using a command inside C. I am using perl_run()
. How can I access console output in this case?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果它在 GNU/Linux 上运行,您可以使用
popen()
,然后将其作为普通管道读取 http://linux.die.net/man/3/popenIf it's running on GNU/Linux you can use
popen()
and then read it as normal pipe http://linux.die.net/man/3/popen如果这是您在 C 程序中嵌入
perl
的唯一原因,那么您最好不要使用它,而使用 C 库 libexif.If that is the only reason you are embedding
perl
in your C program, you might be better off not using it, and using the C library libexif.