gpt4 book ai didi

c - C编程中发送数据显示到系统(xterm)打开的另一个终端

转载 作者:行者123 更新时间:2023-11-30 17:05:58 25 4
gpt4 key购买 nike

我打开了终端来显示 c 程序中的输出

system(xterm)

现在我想将更多数据结果发送到打开的外部终端。我已经看到了 xterm -e 选项,但我没有明白。在我的程序中,我必须同时工作多个进程,一个正在向另一个进程发送消息。另一个正在接收回复。我想在外部终端上显示,每次接收时,我想在已打开的另一个终端上显示数据。

提前谢谢您。

最佳答案

pid_t pid;
int fds[2], in;
char f[PATH_MAX + 1];
//Creating new terminal and sending data through pipes
if(pipe(fds) == -1) {
abort();
}
if(pid = fork() == 0){
close(fds[1]);
sprintf(f, "/dev/fd/%d", fds[0]);
execlp("xterm", "xterm","-e", "cat", f, (char *)NULL);
}
close(fds[0]);
sprintf(buf,"%s",name);
write(fds[1], buf, strlen(buf));
//Keep receiving the broadcast messages
while(1){
ret = recv(clisockfd, buf, sizeof(buf) -1, 0);
if (ret == -1) {
perror("Error receiving message");
exit(1);
}
buf[ret] = '\0';
write(fds[1], buf, strlen(buf));
}
close(clisockfd);

关于c - C编程中发送数据显示到系统(xterm)打开的另一个终端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34997724/

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