赛迪网 > IT技术 C/C++ > 文章
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

用C语言技术进行CGI程序设计 (4)

发布时间:2006.02.14 06:19     来源:ChinaUnix论坛    作者:li2002

#include 

#include 

#include 

int htoi(char *); 

main() 

{ 

 int i,n; 

char c; 

printf (″Contenttype: text/plain\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); 

} 

/* convert hex string to int */ 

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′)); 

}

上面的程序首先输出一个MIME头信息给Web服务器,检查输入中的字符数,并循环检查每一个字符。当发现字符为&,意味着一个名字/值对的结束,程序输出一个空行;当发现字符为+,将它转换成空格; 当发现字符为%,意味着一个两字符的十六进制值的开始,调用htoi()函数将随后的两个字符转换为相应的ASCII字符;当发现字符为=,意味着一个名字/值对的名字部分的结束,并将它转换成字符:。最后将转换后的字符输出给Web服务器。

 

<<上一页 1 2 3 4 5 下一页>>


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 用C语言实现常见的三种中文内码转换 (02-08) · 简单方法在C#中取得汉字的拼音的首字母 (01-10)
· C#中使用反射的使用实现和性能分析 (01-10) · C#开发的两个基本编程原则的深入讨论 (01-10)
· 编程秘籍:使C语言高效的四大绝招 (01-10) · 在C#中利用DirectX实现声音播放 (01-10)
· 浅议C语言中灵魂数组和指针的互操作 (01-10) · 人月团圆趣味程序:用C实现的爱情宣言 (01-10)
· 对C# 2.0中匿名方法的种种怀疑分析 (01-10) · PHP在XP下IIS和Apache2服务器上的安装 (12-07)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
[政务][电信][金融][农业][制造业][中小企业]
[CIO][ERP][协同][IT管理][中间件][电子商务]
[政策][地方][专家][评估][辞典][博客][社区]
· 专题:一路畅通构想曲——让出行不再遭遇堵车
· CIO工作亲历:企业ERP选型不能忽视"选人关"
· 综述:信息化建设给中国监狱带来的各种变化
· 金融业风险管理和法规遵从有五点需考虑的因素
· 保险业CIO关注:该如何建立统一高效的CRM体系
· 调查显示:多数CIO对IT规划仍存在困惑和误解
  博客·论坛 ·曾剑秋·项立刚·Java学习·网管