我必须创建一个迭代服务器来接收来自客户端的目录参数。然后它必须对每个参数运行 ls -l
并将该数据写回客户端。
我已将客户端的所有参数设置为在服务器上运行 execvpe()
,但我需要弄清楚如何传递 execvpe()
的输出> 变成一个字符串,char buf[BUFSIZ]
。然后,我需要使用 write(new_socket, buf, BUFSIZ);
将该字符串写入客户端。
我也希望输出不出现在服务器端。从现在开始,ls -l (clients arguments)
(从客户端)输出到我的服务器。
有什么办法可以做到这一点吗?
最佳答案
我解决了这个问题。我在做 dup2(new_socket, 0); dup2(new_socket, 1); dup2(new_socket, 2);
然后调用 execvpe()
。
我刚刚在我的客户中这样做了(如果有人读到这个):
size_t check; while((check = read(sockfd,buf, BUFSIZ)) > 0) { write(1,buf,check); }
– 亚历克斯
关于c - 将 execvpe 的输出传递到 C 中的字符串中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28893007/