




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
解码数据发送给CGI脚本当使用表单的时候,收集在表单的信息给发送给CGI脚本用于处理。这个信息被放置在环境变量QUERY_STRING中。为了清除地将信息传递给环境变量QUERY_STRING,被修改锚标签的表单将被使用。在这个被修改的锚标签中,传递给环境变量QUERY_STRING的数据是在指示CGI脚本的URL之后附上的。字符”?”被用来分隔指定CGI脚本以及发送给脚本的数据的URL。比如: Link 其中数据name=Your+name&action=find被放置在环境变量QUERY_STRING中并且CGI脚本被执行。下面给出一个例子:由C+编写一个类,具体文件parse.h 和parse.cpp被用于在QUERY_STRING中提取个别的组件,其中的头文件t99_type.h在上节教程已经提到,它是包含了一些定义。具体代码如下:本教程来自/article/html/25862.html/以下是parse.h文件#ifndef CLASS_PARSE#define CLASS_PARSE/#define NO_MAP / 定义没有用户处理#include t99_type.h/这个文件在前面教程中有class Parsepublic:Parse( char );Parse();void set( char );char *get_item( char , int pos=1, bool=false );char *get_item_n( char , int pos=1, bool=false );protected:void remove_escape(char ); int hex( char ); /返回十六进制数char *map_uname( char ); private:enum SEP = & ; / 使用&分隔字符char *the_str; / 字符部分int the_length; / 字符长度;#endif/以下是parse.cpp文件#ifndef CLASS_PARSE_IMP#define CLASS_PARSE_IMP#include parse.h#include #include #ifndef NO_MAP# include #endifParse:Parse( char list )the_str = NULL;set( list );Parse:Parse()if ( the_str != NULL ) / 释放存储器delete the_str;void Parse:set( char list )if ( the_str != NULL ) / 释放存储器delete the_str;the_length = strlen( list ); / 字符长度the_str = new charthe_length+1; / 分配空间strcpy( the_str, list ); / 复制char *Parse:get_item( char name, int pos, bool file )int len = strlen( name );int cur_tag = 1;for( int i=0; iif ( the_stri = name0 &strncmp( &the_stri, name, len ) = 0 )if ( the_stri+len = = )if ( cur_tag = pos )int start = i+len+1; int j = start;while ( the_strj != SEP & the_strj != 0 ) j+;int str_len = j-start;char *mes = new char str_len+1 ;strncpy( mes, &the_strstart, str_len );messtr_len = 0;remove_escape( mes );# ifndef NO_MAPreturn file ? map_uname(mes) : mes;# elsereturn file ? mes : mes;# endif else cur_tag+;return NULL;char *Parse:get_item_n( char name, int pos, bool file )char *res = get_item( name, pos, file );return res = NULL ? (char*)- : res;void Parse:remove_escape(char str)char * from = &str0;char * to = &str0;while ( *from != 0 )char ch = *from+;switch ( ch )case % :ch = (hex(*from+)pw_dir; / 用户的主目录 int len_root = strlen(root);int len_path = len_root + strlen(rest);char *new_path = new charlen_path+1; / 动态字符strcpy( &new_path0,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年自考专业(汉语言文学)练习题含答案详解(典型题)
- 红外光谱仪培训
- 2026届山东省邹平双语学校化学九上期末联考试题含解析
- 柳中庸《听筝》古诗鉴赏试题及答案
- 威海市重点中学2026届九年级英语第一学期期末调研模拟试题含解析
- 酒店地震应急培训
- 2026届陕西省宝鸡市岐山县化学九上期中考试模拟试题含解析
- 副班个人工作总结
- 护士核心能力培训
- 2026届福建省厦门市海沧区鳌冠学校英语九年级第一学期期末考试模拟试题含解析
- 2024注册安全工程师《安全生产法律法规》考点总结
- 四年级(上册)生命生态安全教案及教学计划附安全知识川教版(人教版)
- 民用建筑供暖通风与空气调节设计规范-条文解释
- ICU抗凝药物合理应用
- 2024年院感安全注射培训
- 人工智能助力企业创新发展
- 微生物实验室病原微生物评估报告
- 穴位埋线疗法在代谢性疾病中的应用及效果评估
- 学校各功能室使用情况登记表
- 气瓶检验员考试题
- 室内设计施工图图例与规范-课件
评论
0/150
提交评论