Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1300124
  • 博文数量: 548
  • 博客积分: 7597
  • 博客等级: 少将
  • 技术积分: 4224
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-15 13:21
个人简介

嵌入式软件工程师&&太极拳

文章分类

全部博文(548)

文章存档

2014年(10)

2013年(76)

2012年(175)

2011年(287)

分类: LINUX

2013-03-30 14:01:56

啥都不说,直接看代码!

简单输出代码

#include
#include
#include
void main()
{
printf("Content-type:text/html\n\n");

printf("hello world!");

fflush(stdout);

}



处理get代码

#include
#include
int zmain(void)
{char *data;
long m,n;
printf("%s%c%c\n","Content-Type:text/html;charset=iso-8859-1",13,10);
printf("Multiplication results\n");
printf("

Multiplication results

\n");
data = getenv("QUERY_STRING");
if(data == NULL) 
printf("

Error! Error in passing data from form to script.");
else if(sscanf(data,"m=%ld&n=%ld",&m,&n)!=2) 
printf("

Error! Invalid data. Data must be numeric.");
else 
printf("

The product of %ld and %ld is %ld.",m,n,m*n);
return 0;
}


处理post代码

#include
#include
void main()
{
 int i,n;
 printf("Content-type:text/html\n\n");
 n=0;
 if(getenv("CONTENT_LENGTH"))
  n=atoi(getenv("CONTENT_LENGTH"));
 printf("%d",n);
 for(i=0;i   putchar(getchar());
 putchar('\n');
 fflush(stdout);
}



还是代码


#include
#include
#include

/* 转换函数声明 */
int htoi(char *);

/*  主函数 */
void zmain() {
 int i,n;
 char c;
 printf ("Content-type: text/html\n\n");
 n=0;
 if (getenv("CONTENT_LENGTH"))
  n=atoi(getenv("CONTENT_LENGTH"));
 for (i=0; i   
  int is_eq=0; //判断是否有等于号。
  
  c=getchar();
  switch(c){
  case '&':
   c='\n';
   break;
  case '+':
   c='+';
   break;
  case '%':
   {
    char s[3];
    s[0]=getchar();
    s[1]=getchar();
    s[2]=0;
    c=htoi(s);
    i+=2;
   }
   break;
  case '=':
   c='=';
   is_eq=1;
   break;
  };
  
  putchar(c);
  //if (is_eq) putchar(' ');
 }
 putchar ('\n');
 fflush(stdout);
}

/* 转换为小写 */
int islower (int ch ) 

{
    return (unsigned int) (ch - 'a') < 26u;
}


/* convert hex string to int 16进制转换成10进制 */
int htoi(char *s)

{
 
 char *digits="0123456789ABCDEF";
 
 if(islower(s[0])) s[0]=toupper(s[0]);
 if(islower(s[1])) s[1]=toupper(s[1]);
 
 return 16 * (strchr(digits, s[0]) -strchr(digits,'0') ) +(strchr(digits,s[1])-strchr(digits,'0'));
 
}


#include
#include
void zzzmain()
{
 int i,n;
 printf("Content-type:text/html\n\n");
 n=0;
 if(getenv("CONTENT_LENGTH"))
  n=atoi(getenv("CONTENT_LENGTH"));
 printf("%d",n);
 for(i=0;i   putchar(getchar());
 putchar('\n');
 fflush(stdout);
}

阅读(934) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~