我已经看到有关于这个主题的一些问题,但没有一个答案让我满意。问题出在这里:我需要编写两个套接字(客户端和服务器),客户端必须向服务器发送带有一些输入行的awk程序。在套接字之间来回发送字符串没问题。假设我已将程序存储在字符串command
中,并且我应该在input
中传递给它的字符串,我试过这个:
execl("/usr/bin/awk", command, input, (char *)0);
这样可行,awk程序运行并在服务器的stdout和stderr上写入。事情是,如果有错误的行,我需要将这些发送回客户端,这是不可能的,因为execl
没有给我机会将其输出存储在数组中。那么,有没有人知道如何在不使用system
和popen
的情况下执行此操作?