c - 将 execvpe 的输出传递到 C 中的字符串中

标签 c string client-server exec

我必须创建一个迭代服务器来接收来自客户端的目录参数。然后它必须对每个参数运行 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/

相关文章:

java - 如何通过套接字将 double 或任何其他随机类型从 Java 传递到 C++?

c - 如何计算字符串中未知数量的 float

c - 如何在 C 中打印 x x 矩阵?

c - 为什么需要在其中声明函数?

java - Java中删除子字符串

java - 关于字符串的基本查询

c - c 中使用 TCP 的多用户聊天服务器。如何向多个客户端发送数据?

c - 为什么我的字符没有使用scanf(C语言)扫描

java - 无法在java中创建公共(public)静态最终字符串

当客户端需要数据时,Python 套接字在 socket.recv() 上保持阻塞状态