php调用c++程序.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
php调用c++程序 一、 编写test.cpp程序 ???? 转到你的apache服务器的站点目录下(即放置web文件的目录),我的是 /var/www/html目录,在该目录下编写程序。    该简单程序的作用是通过命令行接受参数并显示出来,test.cpp代码如下: #include iostream using namespace std; int main(int argc,char *argv[]){ ??? coutYou passed (argc-1) argument((argc-1)==1?:s).endl; ??? cout((argc-1)==1?This :These )argument((argc-1)==1?:s); ??? cout ((argc-1)==1?is :are):br/br/endlendl; ??? for(int i=1;iargc;i++){ ??? ??? coutargument[i]is:argv[i]br/endl; ??? } ??? ??? return 0; }     程序中加入br/的目的是为了使php调用该程序后的页面整齐(后面会看到的)。     编译此程序:     #g++ test.cpp -o test ??? ??? 如果编译不通过请把cout放到一行上,避免一个cout语句被断行,分割在好几行上。然后再编译。 ??????? 执行该程序,例如,给它传递三个参数: #./test abc def ghi  ??? 执行结果为: You passed 3 arguments. These arguments are:br/br/ argument[1]is:abcbr/ argument[2]is:defbr/ argument[3]is:ghibr/    解释:    1.main()函数带了两个参数:argc(命令行传入参数的个数)和argv(一个包含了所传参数实际值的字符型指针数组)。这个两个参数能被C++编译器自动捕获. ????????? 2.coutYou passed (argc-1) argument((argc-1)==1?:s).endl; ?????????? 这句话的意思是获得从执行命令行传入的参数的个数。argv这个字符型指针数组是从0开始检索的,它默认包含一个实际的值(即本程序的路径,如果你打印argv[0],将显示.,即当前目录),这个值由C++编译器自动地附加上去,所以argc的默认值是1,每给它传一个参数,该值加1。条件操作符”?”是用来判断命令行传入地参数是否多于一个。例如,如果命令行过传入两个参数,我们地程序将输出如下信息:              You passed 2 arguments. 二、编写cpp_test.php脚本文件 ????????? 在/var/www/html目录       首先编写cpp_test.html文件,由它向cpp_test.php传递参数。       其内容如下: html body br/br/br/br/br/ div align=center ??? form method=post action=cpp_test.php ??? 输入你要传给c++程序的参数,各参数间以空格隔开。br/ ??? br/input type=text name=argsbr/ ??? input type=submit name=submit ?? /form /div /body /html       cpp_test.php内容如下: ?php echo br/br/br/br/br/br/; echo div align=center; if($_POST[args]!=){ ??? echo what you input in the textbox are:; ??? echo $_POST[args]; ??? echo br/br/then the c++ program will execute as follows:br/br/br/; ??? /*call c++ aplications,the sapce right after ./test is necessary. ??? ? It separate the command from its arguments*/ ??? $command=./test .escapeshellcmd($_POST[args]); ??? passthru($command); }else{ ??? echo br/You did not enter anything in the tex

文档评论(0)

80092355km + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档