gpt4 book ai didi

c - 如何在 C 中使用 popen 传递多个命令?

转载 作者:行者123 更新时间:2023-12-04 02:20:47 26 4
gpt4 key购买 nike

我正在尝试使用命令行界面 GNUPLOT 绘制图形。但我需要将它集成到 C 程序中,以便在程序执行时绘制图形。这可以通过使用 popen 命令来完成。我在 popen("gnuplot","r") 的地方编写了代码,所以现在当我执行程序时,gnuplot 启动。但是我需要在 popen("gnuplot","r") 之后发送多个命令,比如 popen("sin(x)","r") 这样一个罪当我执行代码时绘制图形。但我不知道如何传递多个命令。请告诉我如何使用 popen 传递多个命令。请帮忙谢谢?

这是我用来发送单个命令的代码:

#include <stdio.h>

int main()
{
FILE *fp;
int status;
fp = popen("gnuplot","r");

pclose(fp);

return 0;
}

最佳答案

一旦您调用了 popen(),您的文件描述符“fp”就会打开并允许您通过它写入数据,gnuplot 命令会将这些数据视为输入。请注意,类型应该是您要对管道执行的操作,而不是命令将对其执行的操作,因此您应该使用“w”,因为您要编写。您可以按顺序发出多个命令,直到完成为止。

例如:

#include <stdio.h>

int main()
{
FILE *fp;
int status;
fp = popen("gnuplot","w");
fprintf(fp, "plot sin(x)\n");
fprintf(fp, "plot tan(x)\n");

pclose(fp);

return 0;
}

将通过管道发送“sin(x)”和“tan(x)”后跟换行符,gnuplot 可以将其作为输入读取。

关于c - 如何在 C 中使用 popen 传递多个命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29829540/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com