- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
php调用c++程序
一、 编写test.cpp程序???? 转到你的apache服务器的站点目录下(即放置web文件的目录),我的是 /var/www/html目录,在该目录下编写程序。 该简单程序的作用是通过命令行接受参数并显示出来,test.cpp代码如下:
#include iostreamusing 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传递参数。 其内容如下:
htmlbodybr/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内容如下:
?phpecho 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
您可能关注的文档
最近下载
- 辽宁省社区工作者招聘笔试真题.pdf VIP
- 2_H3G-TA硬件安装调试手册(CM-02N)B2版(对外公开)华塑电池巡检仪.pdf VIP
- 超实用高考英语复习:阅读理解话题分类专练 文娱与体(含答案).docx VIP
- 民航法律法规教案【参考】.doc VIP
- 实验室生物安全管理手册(2025版).pdf VIP
- 名著导读(朝花夕拾).ppt VIP
- 民航法律法规与实务(全套课件).ppt
- 服装包装、配送、检验、验收及售后服务方案.docx VIP
- 高中英语人教版选择性必修第一册词汇表单词英译汉默写.docx VIP
- 2025年辽宁省锦州市北镇市观音阁街道招聘社区工作者考前自测高频考点模拟试题含答案解析.docx VIP
文档评论(0)