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

发布于 2024-12-17 17:45:59 字数 565 浏览 1 评论 0原文

我编写了一个嵌入 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

ヤ经典坏疍 2024-12-24 17:45:59

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

If it's running on GNU/Linux you can use popen() and then read it as normal pipe http://linux.die.net/man/3/popen

岛徒 2024-12-24 17:45:59

如果这是您在 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文