我创建了共享库client.so。当我执行它时,执行main()函数,该函数从用户读取字符串并调用函数ch=foo(buffer);
。
Main.cpp在这里:
#include<stdio.h>
#include "foo.h"
int main()
{
char buffer[1024];
char *ch;
printf("Client : \n");
printf("Enter sentence to send to the server (press enter)\n");
fgets(buffer, 1024, stdin);
ch=foo(buffer);
return 0;
}
使用exec函数我们可以执行c程序。但是在PHP脚本中,如果我为此执行此操作,我将无法从用户读取字符串。
我希望用户可以在浏览器中输入字符串,然后将该字符串传递给main函数(可能使用argv,argc-但我不知道该怎么做)。然后main函数应该像往常一样调用foo(缓冲区)等等。
foo(buffer)将返回存储在char * ch中的数组,我想用php脚本接收。
我有两个选择: 1]从用户的文本框中读取字符串并将其传递给具有main()函数的共享库文件。哪个被执行并在php脚本中返回“ch” 2]执行共享库文件(就像我们在终端./client中所做的那样)并在运行时给出字符串输入并运行整个程序。但我不知道这是否可能。 #包括 #include“foo.h”
int main()
{
char buffer[1024];
char *ch;
printf("Client : \n");
printf("Enter sentence to send to the server (press enter)\n");
fgets(buffer, 1024, stdin);
ch=foo(buffer);
return 0;
}
任何人都可以给我一些关于如何实现这一目标的建议!
答案 0 :(得分:0)
设置权限后,执行以下方式将解决问题:
$a=exec('/home/technoworld/Videos/LinSocket/client "critic good"');
无需像我犯错误那样给./client
!
客户端是我想要执行的可执行文件,&#34;评论家好&#34;是要通过的论据!