亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cgiform.h

?? 用C些的CGI函數庫
?? H
字號:
#ifndef _INCLUDE_CGIFORM_H_
#define _INCLUDE_CGIFORM_H_

/*
** 庫名			:	CGIForm
** 庫描述		:	用于處理表單信息的CGI函數庫
** 作者			:	calvin
** E-mail		:	CalvinWilliams@yeah.net
** QQ			:	21021078
** 創建日期時間	:	
** 更新日期時間	:	2005/5/2
*/

/* TEXTBLOCK 文檔標題 *
CGIForm函數庫文檔
BetonArmEE
v1.0.0.20070403
/TEXTBLOCK */

/* TEXTBLOCK 關于 功能概述
	CGIForm是iCGI函數庫中最重要的子函數庫之一。
	CGIForm主要處理瀏覽器端表單數據(包含上傳文件數據)的讀取和分析,實現服務端應用獲取瀏覽器端表單數據完整解決方案。
/TEXTBLOCK */

/* TEXTBLOCK 關于 兼容平臺列表
		Windows	UNIX	Linux
-------------------------------------
CGIForm	Y		Y		Y
TEXTBLOCK */

/* TEXTBLOCK 關于 版本歷史
2005-05-02	創建 第一版
2007-04-02	創建 文檔
/TEXTBLOCK */

/* TEXTBLOCK 知識手冊 form數據與form鏈表容器
	瀏覽器端表單(form)擁有若干表單域(field),最簡單的表單比如網站用戶注冊表單,要求用戶輸入用戶名、密碼等信息。當表單提交后,form數據通過網絡傳輸到服務器端,由web服務軟件轉交給cgi程序,cgi程序從環境變量中讀出form數據并做出相應業務邏輯處理。
	CGIForm子函數庫封裝了cgi程序讀取和分析過程,通過函數讀取瀏覽器端發送過來的form數據到form鏈表容器數據結構,提供大量函數方便從form鏈表容器中讀取表單域數據。
/TEXTBLOCK */

/* TEXTBLOCK 使用指南 創建、銷毀form鏈表容器
	form鏈表容器其實是一個通用泛型鏈表(請參考iLibX函數庫List子函數庫相關文檔),用于存放表單form數據,鏈表結點類型主要為key-value,key存放表單域名數據,value存放表單域值數據。
	
	·創建form鏈表容器
	
		以下代碼片斷聲明了通用泛型鏈表結構plist并初始化為form鏈表容器空值:
			SList *plist = NULL ;
			plist = CGIFormListInitial() ;
			
	·銷毀form鏈表容器
	
		以下代碼片斷用于銷毀form鏈表容器,如果form鏈表容器內有form數據,則銷毀前先釋放form數據:
			BOOL bret ;
			bret = CGIFormListDestroy( &plist ) ;
		當銷毀成功,CGIFormListDestroy返回TRUE,否則返回FALSE
/TEXTBLOCK */

/* TEXTBLOCK 使用指南 裝載form數據到鏈表容器
	form鏈表容器被初始化后需要裝載瀏覽器端提交過來的form數據
	以下代碼片斷用于從web服務器軟件處獲取裝載form數據到form鏈表容器里去:
		BOOL bret ;
		bret = CGIFormReadData( &plist ) ;
/TEXTBLOCK */

/* TEXTBLOCK 使用指南 讀取、遍歷form數據
	由于form鏈表容器其實就是一個通用泛型鏈表,就可以用iLibX.List子函數庫中的函數讀取鏈表中結點數據即form數據,此外CGIForm子函數庫提供了一組函數能夠更方便快捷的按表單域名為索引讀取表單域值。
	注意:讀取過程并沒有把數據復制出來,而是把鏈表內表單域值數據的內存首地址賦值給應用程序指定的指針變量,應用程序可以通過引用該指針變量自行做復制等處理。
	
	·讀取一般表單域數據
		以下代碼片斷從form鏈表容器用于讀取瀏覽器表單行編輯框'textfieldUserName'中用戶輸入的值:
			char *pvalue = NULL ;
			pvalue = CGIFormGetValue( plist , "textfieldUserName" ) ;
		以下代碼片斷從form鏈表容器用于獲得表單行編輯框'textfieldUserName'中用戶輸入的值的長度:
			long size ;
			size = CGIFormGetValueSize( plist , "textfieldUserName" ) ;
		有時瀏覽器端傳送過來的表單數據并不符合c語言字符串規則,此函數可以確定表單域值的長度。
		
	·讀取包含上傳文件表單域數據
	
		以下代碼片斷用于從form鏈表容器讀取表單上傳文件域'fileUpload'的文件名(完整的全文件名,包含路徑、主文件名和文件擴展名):
			char *pfilename = NULL ;
			pfilename = CGIFormGetFileName( plist , "fileUpload" ) ;
		以下代碼片斷用于從form鏈表容器獲得表單上傳文件域'fileUpload'的文件大小(單位為字節):
			long size ;
			size = CGIFormGetFileSize( plist , "fileUpload" ) ;
		以下代碼片斷用于從form鏈表容器讀取表單上傳文件域'fileUpload'的文件實際內容:
			char *pfilecontent = NULL ;
			pfilecontent = CGIFormGetFileContent( plist , "fileUpload" ) ;
			
	·遍歷form數據
	
		請參考iLibX.List子函數庫相關函數遍歷鏈表即可。
/TEXTBLOCK */

/* TEXTBLOCK 使用指南 系統限制選項
	為防止瀏覽器端發送惡意數據而造成CGIForm相關函數中緩沖溢出,設置系統限制選項保護之。
	函數CGIFormSetMaxFieldNameSize設置允許的最大表單域名長度和上傳文件域全文件名長度,超出該限制則截取有效長度部分。
	函數CGIFormSetMaxFieldDataSize設置允許的最大表單域值大小,超出該限制則截取有效長度部分。
	函數CGIFormSetMaxFieldFileDataSize設置允許的最大上傳文件內容大小,超出該限制則截取有效長度部分。
	注意:系統限制選項函數必須在form數據裝載到form鏈表容器中去之前設置,即函數CGIFormReadData調用前。
/TEXTBLOCK */

/* TEXTBLOCK 使用指南 調試選項
	為方便調試form數據裝載過程,設置調試選項能夠使應用開發者方便觀察form數據裝載過程。
	函數SetFormDebugFileName用于設置日志文件名,使裝載form數據過程中有相關dump信息寫入外部文件。如果日志文件名為空字符串(即"")則不寫日志。可設置的日志文件名長度最長為255個字符。
	函數GetFormDebugFileName用于復制當前已經設置的日志文件名到應用程序指定的緩沖區中。函數不檢查緩沖大小,防溢出控制由應用開發者處理。
/TEXTBLOCK */

#ifdef _TYPE_OS_WINDOWS_
#include <io.h>
#endif

#include "LibX.h"
#include "TypeX.h"
#include "ListX.h"

#if ( defined _TYPE_OS_AIX_ ) | ( defined _TYPE_OS_SCO_ ) | ( defined _TYPE_OS_LINUX_ )
#endif

#ifdef __cplusplus
extern "C" {
#endif

/*
** 函數集說明	:	調試函數集
*/

/* FUNCTIONLIST 參考列表 函數列表 */
_WINDLL_EXPORT BOOL SetFormDebugFileName( char *pcDebugPathFileName );
_WINDLL_EXPORT BOOL GetFormDebugFileName( char *pcDebugPathFileName );
/* /FUNCTIONLIST */

/*
** 結構名	:	SCGIFormData
** 結構說明	:	包含form結點項的內容信息
*/

/* STRUCTDES 參考列表 結構列表 */
typedef struct tagCGIFormData
{
	char *name; /* 表單域名 */
	char *data; /* 表單域值 或者 上傳文件域文件內容 */
	long datasize; /* 表單域值大小 或者 上傳文件域文件大小 */
	
	char *filename; /* 上傳文件域全文件名 */
}
SCGIFormData; /* form數據,表單域信息包,form鏈表容器結點值 */
/* /STRUCTDES */

/*
** 函數集說明	:	設置域特性最大值
*/

/* FUNCTIONLIST 參考列表 函數列表 */
_WINDLL_EXPORT void CGIFormSetMaxFieldNameSize( long maxsize );
_WINDLL_EXPORT void CGIFormSetMaxFieldDataSize( long maxsize );
_WINDLL_EXPORT void CGIFormSetMaxFieldFileDataSize( long maxsize );
/* /FUNCTIONLIST */

/*
** 函數集說明	:	form數據鏈表初始化、銷毀函數
*/

/* FUNCTIONLIST 參考列表 函數列表 */
_WINDLL_EXPORT SList *CGIFormListInitial();
_WINDLL_EXPORT BOOL CGIFormListDestroy( SList **listForm );
/* /FUNCTIONLIST */

/*
** 函數集說明	:	form數據鏈表填充函數
*/

/* FUNCTIONLIST 參考列表 函數列表 */
_WINDLL_EXPORT BOOL FreeCGIFormData( void *pv );
_WINDLL_EXPORT BOOL CGIFormReadData( SList **listForm );
/* /FUNCTIONLIST */

/*
** 函數集說明	:	form數據鏈表取值函數
*/

/* FUNCTIONLIST 參考列表 函數列表 */
_WINDLL_EXPORT char *CGIFormGetValue( SList *listForm , char *name );
_WINDLL_EXPORT long CGIFormGetValueSize( SList *listForm , char *name );
_WINDLL_EXPORT char *CGIFormGetFileName( SList *listForm , char *name );
_WINDLL_EXPORT long CGIFormGetFileSize( SList *listForm , char *name );
_WINDLL_EXPORT char *CGIFormGetFileContent( SList *listForm , char *name );
/* /FUNCTIONLIST */

#ifdef __cplusplus
}
#endif

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕在线观看一区二区| 亚洲一区在线观看免费| 91福利国产成人精品照片| 国模套图日韩精品一区二区| 亚洲福利一二三区| 亚洲高清免费在线| 奇米精品一区二区三区四区| 亚洲午夜私人影院| 日本美女视频一区二区| 日韩精品亚洲专区| 蜜臀久久99精品久久久久宅男 | 日韩激情视频在线观看| 亚洲高清一区二区三区| 久久国产免费看| 另类中文字幕网| 国产成人免费视频| 成人手机电影网| 91丝袜美腿高跟国产极品老师 | 亚洲欧美一区二区视频| 亚洲卡通动漫在线| 日本免费新一区视频| 欧美日韩国产一二三| 亚洲欧美成aⅴ人在线观看| 国产精品不卡一区二区三区| 日本不卡高清视频| 色哟哟一区二区三区| 欧美色欧美亚洲另类二区| 日韩一区二区在线看| 亚洲私人黄色宅男| 国产一区二区在线观看免费| 欧美在线看片a免费观看| 一区二区在线电影| 国产99久久久精品| 五月婷婷久久丁香| 国产精品性做久久久久久| 91丝袜呻吟高潮美腿白嫩在线观看| 欧美性感一区二区三区| 久久一区二区三区四区| 亚洲国产精品视频| 国产精品一区久久久久| 欧美亚洲国产怡红院影院| 2021久久国产精品不只是精品| 久久久精品日韩欧美| 天天av天天翘天天综合网| 国产精品一区二区无线| 欧美日韩在线亚洲一区蜜芽| 久久久久久亚洲综合| 午夜精品免费在线观看| 一本到不卡免费一区二区| 久久久久久久久久久黄色| 午夜久久电影网| 91成人在线精品| 国产精品成人一区二区艾草 | 亚洲男同1069视频| 国产精品一区二区久久精品爱涩| 91久久精品一区二区| 久久品道一品道久久精品| 天天影视涩香欲综合网 | 欧美久久婷婷综合色| 亚洲少妇最新在线视频| 国产精品资源在线| 久久综合视频网| 麻豆精品国产91久久久久久| 欧美亚洲一区三区| 亚洲欧美综合色| 国产成人综合在线观看| 精品国产一区久久| 美脚の诱脚舐め脚责91| 欧美一区二区女人| 日本欧美久久久久免费播放网| 色婷婷香蕉在线一区二区| 国产精品超碰97尤物18| 99久久99久久精品国产片果冻| 欧美草草影院在线视频| 久久国产精品色| 久久精子c满五个校花| 国产综合久久久久久鬼色| 精品国产乱码久久久久久浪潮| 日本亚洲欧美天堂免费| 日韩一区二区三区三四区视频在线观看| 一区二区高清免费观看影视大全| 97精品久久久午夜一区二区三区| 中文字幕在线观看一区二区| av电影在线观看一区| 亚洲视频免费在线| 色猫猫国产区一区二在线视频| 一区二区理论电影在线观看| 一本一道波多野结衣一区二区| 亚洲精品va在线观看| 色偷偷88欧美精品久久久| 亚洲永久免费av| 日韩免费成人网| 国产suv精品一区二区三区| 欧美国产精品一区二区三区| av在线不卡网| 亚洲bt欧美bt精品777| 日韩一区二区三区免费看 | 日韩精品欧美成人高清一区二区| 欧美三级在线播放| 奇米一区二区三区| 久久蜜桃一区二区| 91欧美一区二区| 日韩电影免费在线看| 国产性色一区二区| 91福利视频在线| 国产在线麻豆精品观看| 亚洲视频一区在线观看| 欧美一区二区三区色| 成人高清免费在线播放| 偷拍亚洲欧洲综合| 国产欧美视频在线观看| 91亚洲大成网污www| 免费成人深夜小野草| 国产精品国产三级国产| 日韩欧美一区在线| 91影视在线播放| 六月丁香婷婷色狠狠久久| 玉足女爽爽91| 久久久不卡影院| 91精品国产综合久久久久久久 | 99视频在线精品| 日本亚洲免费观看| 亚洲激情校园春色| 国产性做久久久久久| 欧美丰满少妇xxxxx高潮对白| 成人免费观看av| 乱中年女人伦av一区二区| 亚洲国产一区二区三区青草影视| 国产日韩三级在线| 欧美精品三级日韩久久| 一本一道波多野结衣一区二区 | 日韩一区欧美一区| 久久久久成人黄色影片| 51午夜精品国产| 欧洲一区二区三区在线| 97久久精品人人爽人人爽蜜臀| 精品制服美女久久| 天天色综合成人网| k8久久久一区二区三区| 久久99精品一区二区三区 | 91在线丨porny丨国产| 精品午夜久久福利影院| 免费观看一级欧美片| 亚洲成人免费观看| 亚洲va欧美va人人爽| 亚洲一区二区欧美激情| 日韩一区日韩二区| 成人综合婷婷国产精品久久免费| 首页国产丝袜综合| 亚洲精品视频在线观看网站| 国产精品久久久久久久第一福利| 国产欧美日韩不卡| 久久久久久99精品| 国产午夜亚洲精品羞羞网站| 久久久高清一区二区三区| 久久久久久久电影| 国产精品久久久久久妇女6080| 国产精品久久夜| 亚洲天堂a在线| 亚洲综合免费观看高清完整版| 一区二区三区91| 日一区二区三区| 日本不卡一二三区黄网| 美日韩一区二区| 国产99久久久国产精品免费看| 粉嫩绯色av一区二区在线观看 | 亚洲成人免费电影| 午夜电影网一区| 捆绑紧缚一区二区三区视频| 国产乱国产乱300精品| 成人一区二区三区| 欧美伊人久久久久久午夜久久久久| 欧美久久婷婷综合色| 欧美成人r级一区二区三区| 国产亚洲人成网站| 专区另类欧美日韩| 亚洲成人自拍一区| 九一九一国产精品| aaa国产一区| 欧美二区三区的天堂| 精品国产免费久久| 亚洲男女一区二区三区| 婷婷国产在线综合| 成人丝袜高跟foot| 在线播放欧美女士性生活| 精品美女一区二区| 一区二区三区在线免费观看| 日本强好片久久久久久aaa| 国产91在线观看丝袜| 欧美性高清videossexo| 国产午夜精品久久久久久免费视 | 99vv1com这只有精品| 欧美日韩日本视频| 国产女主播一区| 午夜免费欧美电影| 99riav久久精品riav| 欧美成人综合网站| 亚洲另类春色国产| 国产伦精品一区二区三区在线观看| 91亚洲男人天堂|