下面是一段cgi程序 有些地方不懂 请大侠帮忙 20

#include<unistd.h>#include<sys/stat.h>#include<fcntl.h>#include<stdlib.h>#include<lin... #include<unistd.h>#include<sys/stat.h>
#include<fcntl.h>
#include<stdlib.h>
#include<linux/ioctl.h>
#include<string.h>
#include"leds.h"
intmain()
{char*method;char*str,*p;intfd;
printf("Contenttype:text/html\n\n");
printf("<?xml version=\"1.0\" encoding=\"gb2312\"?>\n");
printf("<measure>\n");
if((fd=open("/dev/gfy_leds",O_WRONLY))==-1){perror("Open");
return-1;}
method=getenv("REQUEST_METHOD");
if(strcmp(method,"GET")==0)
{str=getenv("QUERY_STRING");
p=strchr(str,'=');p++;}
if(strstr(p,"ON")!=NULL)
{ioctl(fd,LEDS_IOCSON,p[0]-0x30);}
elseif(strstr(p,"OFF")!=NULL)
{ioctl(fd,LEDS_IOCSOFF,p[0]-0x30);}
else{ioctl(fd,LEDS_IOCRESET);
printf("<num>NULL</num>\n");
printf("<led>NULL</led>\n");
printf("</measure>\n");return;}
printf("<num>%c</num>\n",p[0]);
p++;printf("<led>%s</led>",p);
printf("</measure>\n");
close(fd);return0;}
其中
printf("<measure>\n");
printf("<num>NULL</num>\n");
p++;printf("<led>%s</led>",p);
这几句是什么意思
ioctl(fd,LEDS_IOCSOFF,p[0]-0x30);} 为什么p[0]要减去0x30
展开
 我来答
耀恶皆梦逆20
2013-03-13 · TA获得超过3757个赞
知道大有可为答主
回答量:2万
采纳率:0%
帮助的人:4168万
展开全部
什么是CGI?

好了,现在我们到底什么是CGI。的的普通门Intergace听起来有点专业,

我们把它称为良好的CGI。 CGI是一个程序,身体,它运行在服务器上提供相同的客户群的Html页面

表面界面。说这可能不是一个很好的理解。所以,我们看一个实际的例子:个人主页

给我留言。留言:首先由用户在客户端上段输入一些信息,如某事物的名称。

单击“消息”(到目前为止,在客户端),浏览器将信息发送到服务器的CGI

特定的目录cgi程序,cgi程序如期服务器进行处理。在这种情况下,是

用户提交的信息存储在指定的文件。 CGI程序,然后将消息发送到客户端,任务的要求

结束。用户的浏览器将看到的话“结束”的消息。整个过程结束。

由于CGI是一个程序,自然需要写一个编程语言。您可以使用任何一个你熟悉高层次的语言?

话,C,C + +,C shell和VB。值得特别注意的,一种语言叫Perl的。

其前身是Unix的高层次的语言,它具有强大的字符串处理能力和现在写CGI,特别是第一选择的形式类节目的一个成员。

最近,它已被Window95,而WinNT版本。搜索程序,你可以找到在哪里可以下载它。 VB女士杀手

锏,从目前情况看,微软正在努力使VB无所不能的。当然,包括互联网,请注意

VB开发程序只能在Windows平台上执行,所以它有一定的局限性。 C外壳,经典的语言。不幸的是,没有多少可以做

和Unix平台上。 C,C + +,真的是无所不能。但在规定的时间编写CGI看看

很难把握。尤其是缺乏可以灵活使用的字符串处理函数。要求是比较高的,复杂的程序员维护

杂项。最后,要提醒你,因为的CGI服务器和Clinet接口

移值的CGI程序是一个非常复杂的问题,所以不同的服务器。通常不同的服务器不能另外两个通用的CGI。事实上

是最复杂的CGI程序。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式