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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? cgihtml.txt

?? 用C些的CGI函數(shù)庫
?? TXT
?? 第 1 頁 / 共 2 頁
字號(hào):
CGIHtml函數(shù)子庫文檔
作者:		BetonArmEE
最新版本:	2007-05-01	v1.0

>>> 目錄
1.關(guān)于
	1.1.功能概述
	1.2.兼容平臺(tái)列表
	1.3.版本歷史
2.知識(shí)手冊(cè)
	2.1.HTML頭、Url重定向、錯(cuò)誤狀態(tài)
	2.2.HTML模板技術(shù)
3.使用指南
	3.1.HTML頭、Url重定向、錯(cuò)誤狀態(tài)
	3.2.HTML模板使用例子
	3.3.HTML模板使用中防緩沖區(qū)溢出
	3.4.其它HTML處理函數(shù)
4.參考列表
	4.1.函數(shù)列表

>>> 正文
1.關(guān)于

	1.1.功能概述
	
		CGIHtml主要發(fā)送HTML頭、Url重定向、錯(cuò)誤狀態(tài)等功能,同時(shí)還包含了一個(gè)HTML模板庫。
		
	1.2.兼容平臺(tái)列表
	
		Windows、UNIX、Linux
		
	1.3.版本歷史
	
		2005-05-02	創(chuàng)建 第一版
		2007-05-01	創(chuàng)建 文檔
		
2.知識(shí)手冊(cè)

	2.1.HTML頭、Url重定向、錯(cuò)誤狀態(tài)
		
		HTML頭包含在HTTP協(xié)議里面,它總是在發(fā)送HTML代碼前被發(fā)送,當(dāng)然,HTML頭還包含許多其它的內(nèi)容,這里僅支持HTTP數(shù)據(jù)類型,比如HTML類型、圖片類型、下載二進(jìn)制數(shù)據(jù)類型。HTML頭一般和HTML之間有兩個(gè)"\r\n"。一旦發(fā)送了HTML頭,后面就應(yīng)該緊跟HTML代碼。
		Url重定向用于在不改變客戶端網(wǎng)址顯示而把當(dāng)前鏈接重定向到另一個(gè)網(wǎng)址上去,一般用于隱藏真實(shí)網(wǎng)址的重定向。一旦url重定向了,后面不應(yīng)該再輸出任何東西。
		錯(cuò)誤狀態(tài)用于應(yīng)用程序主動(dòng)置返回代碼給web服務(wù)器軟件,web服務(wù)器軟件選擇合適的返回頁面給瀏覽器。返回代碼包括“200”(正確得到服務(wù)端響應(yīng)處理)等,請(qǐng)參考HTTP規(guī)范。
		應(yīng)用代碼中,HTML頭與Url重定向、錯(cuò)誤狀態(tài)只能放在所有輸出最前面且只能選擇其一。
		
	2.2.HTML模板技術(shù)
		
		HTML模板技術(shù)通過在模板字符串中進(jìn)行字符串替換,用于獲得最終HTML代碼流。
		HTML模板代碼一般放置在字符數(shù)組緩沖區(qū)里,其中不僅包含符合規(guī)范的HTML代碼,還包含數(shù)據(jù)替換宏。數(shù)據(jù)替換宏也是一串以'\0'結(jié)束的字符數(shù)組變量值,其取名沒有固定要求,但一般推薦以'$'包裹宏名組成以區(qū)別HTML代碼。
		
3.使用指南

	3.1.HTML頭、Url重定向、錯(cuò)誤狀態(tài)
		
		·HTML頭
			
			在發(fā)送HTML代碼前需要發(fā)送HTTP響應(yīng)類型,以下代碼為發(fā)送HTTP響應(yīng)類型為HTML代碼
			CGIHtmlSendContent( CONTENT_TYPE_TEXTHTML );
			
			如果HTTP響應(yīng)類型為圖片二進(jìn)制數(shù)據(jù)
			CGIHtmlSendContent( CONTENT_TYPE_IMAGEJPEG );
			
		·Url重定向
			
			以下代碼重定向當(dāng)前url為“http://www.xxx.com/”(瀏覽器里的url不變)
			CGIHtmlLocationURL( "http://www.xxx.com/" );
		
		·錯(cuò)誤狀態(tài)
			
			以下代碼置HTTP響應(yīng)代碼為“404”
			CGIHtmlSendStatus( 404 );
			
	3.2.HTML模板使用例子
		
		char	acTemplateBuffer[ 1024 + 1 ] ; /* 聲明模板緩沖區(qū) */
		char	acHtmlBuffer[ 1024 + 1 ] ; /* HTML緩沖區(qū) */
		SList	*plistTemplateTag = NULL ; /* 模板替換宏鏈表 */
		
		memset( acTemplateBuffer , 0x00 , sizeof(acTemplateBuffer) );
		memset( acHtmlBuffer , 0x00 , sizeof(acHtmlBuffer) );
		
		/* 裝載模板文件 */
		iret = CGIHtmlLoadTemplate( "template.html" , acTemplateBuffer ) ;
		
		/* 初始化模板替換宏鏈表 */
		plistTemplateTag = CGIHtmlTemplateTagListInitial() ;
		
		/* 向模板替換宏里添加替換項(xiàng) */
		CGIHtmlAddTemplateStringTag( &plistTemplateTag , "$用戶名$" , "root" );
		CGIHtmlAddTemplateLongTag( &plistTemplateTag , "$CREDIT$" , 1000 );
		
		/* 模板替換宏鏈表處理模板 */
		iret = CGIHtmlProcessTemplate( plistTemplateTag , acTemplateBuffer , acHtmlBuffer ) ;
		
		/* 輸出HTML給瀏覽器 */
		CGIHtmlSendContent( CONTENT_TYPE_TEXTHTML );
		printf( "%s" , acHtmlBuffer );
		
		/* 銷毀模板替換宏鏈表 */
		CGIHtmlTemplateTagListDestroy( &plistTemplateTag );
	
	3.3.HTML模板使用中防緩沖區(qū)溢出
		
		在上例中變量acTemplateBuffer、acHtmlBuffer在使用中有可能溢出,比如使用CGIHtmlLoadTemplate裝載的文件太大或者CGIHtmlProcessTemplate處理后的HTML代碼過長,CGIHtml函數(shù)庫提供了這兩個(gè)函數(shù)的安全版本(安全的裝載模板文件函數(shù)CGIHtmlLoadTemplateSafely和安全的模板處理函數(shù)CGIHtmlProcessTemplateSafely)建議在關(guān)鍵代碼部位代替非安全函數(shù)。
		
	3.4.其它HTML處理函數(shù)
		
		函數(shù)CGIHtmlProcessHtmlByUBB可以處理目標(biāo)緩沖區(qū)中的UBB代碼轉(zhuǎn)換成HTML代碼,它的安全版本函數(shù)是CGIHtmlProcessHtmlByUBBSafely。
		函數(shù)CGIHtmlProcessTextToHtml可以處理目標(biāo)緩沖區(qū)中的文本代碼轉(zhuǎn)換成HTML代碼(比如'\t'轉(zhuǎn)換為"&nbsp&nbsp&nbsp&nbsp",'\n'轉(zhuǎn)換為"<p>",'<'轉(zhuǎn)換為"&lt;"),它的安全版本函數(shù)是CGIHtmlProcessTextToHtmlSafely。
		
4.參考列表
	
	4.1.宏列表
		
		CONTENT_TYPE_TEXTHTML	HTTP響應(yīng)類型為HTML代碼
		CONTENT_TYPE_IMAGEJPEG	HTTP響應(yīng)類型為二進(jìn)制圖片數(shù)據(jù)
		CONTENT_TYPE_DOWNLOAD	HTTP響應(yīng)類型為二進(jìn)制下載數(shù)據(jù)
		
	4.2.函數(shù)列表
	
		void CGIHtmlSendContent( int ContentType );
		void CGIHtmlLocationURL( char *url );
		void CGIHtmlSendStatus( int status );
		
		SList *CGIHtmlTemplateTagListInitial();
		BOOL CGIHtmlTemplateTagListDestroy( SList **listHtmlTemplateTag );
		
		int CGIHtmlLoadTemplate( char *filename , char *template_buf );
		int CGIHtmlLoadTemplateSafely( char *filename , char **template_buf , long *template_buf_size );
		
		BOOL CGIHtmlAddTemplateLongTag( SList **listHtmlTemplateTag , char *tag , long l );
		BOOL CGIHtmlAddTemplateDoubleTag( SList **listHtmlTemplateTag , char *tag , double d );
		BOOL CGIHtmlAddTemplateStringTag( SList **listHtmlTemplateTag , char *tag , char *str );
		
		int CGIHtmlProcessTemplate( SList *listHtmlTemplateTag , char *template_buf , char *html_buf );
		int CGIHtmlProcessTemplateSafely( SList *listHtmlTemplateTag , char *template_buf , long *template_buf_size , char **html_buf , long *html_buf_size );
		
		int CGIHtmlProcessHtmlByUBB( char *html_buf );
		int CGIHtmlProcessHtmlByUBBSafely( char **html_buf , long *html_buf_size );
		
		int CGIHtmlProcessTextToHtml( char *html_buf );
		int CGIHtmlProcessTextToHtmlSafely( char **html_buf , long *html_buf_size );
		
		·CGIHtmlSendContent
		設(shè)置HTTP響應(yīng)類型
		
		函數(shù)原型:
			void CGIHtmlSendContent( int ContentType );
		輸入?yún)?shù):
			int ContentType			HTTP響應(yīng)類型
		返回值:
			(無)
		
		詳細(xì)描述與注意事項(xiàng):
			(無)
		示例代碼:
			CGIHtmlSendContent( CONTENT_TYPE_TEXTHTML );
		相關(guān)函數(shù):
			CGIHtmlLocationURL , CGIHtmlSendStatus
		
		·CGIHtmlLocationURL
		重定向當(dāng)前url
		
		函數(shù)原型:
			void CGIHtmlLocationURL( char *url );
		輸入?yún)?shù):
			char *url			新的url
		返回值:
			(無)
		
		詳細(xì)描述與注意事項(xiàng):
			瀏覽器里的url不變
		示例代碼:
			CGIHtmlLocationURL( "http://www.xxx.com" );
		相關(guān)函數(shù):
			CGIHtmlSendContent , CGIHtmlSendStatus
		
		·CGIHtmlSendStatus
		發(fā)送HTTP錯(cuò)誤代碼給瀏覽器
		
		函數(shù)原型:
			void CGIHtmlSendStatus( int status );
		輸入?yún)?shù):
			int status		HTTP錯(cuò)誤代碼
		返回值:
			(無)
		
		詳細(xì)描述與注意事項(xiàng):
			瀏覽器里的url不變
		示例代碼:
			CGIHtmlSendStatus( 404 );
		相關(guān)函數(shù):
			CGIHtmlSendContent , CGIHtmlLocationURL
		
		·CGIHtmlTemplateTagListInitial
		初始化HTML模板替換宏鏈表
		
		函數(shù)原型:
			SList *CGIHtmlTemplateTagListInitial();
		輸入?yún)?shù):
			(無)
		返回值:
			NULL
		
		詳細(xì)描述與注意事項(xiàng):
			(無)
		示例代碼:
			SList	*plistTemplateTag = NULL ;
			plistTemplateTag = CGIHtmlTemplateTagListInitial() ;
		相關(guān)函數(shù):
			CGIHtmlTemplateTagListDestroy
		
		·CGIHtmlTemplateTagListDestroy
		銷毀HTML模板替換宏鏈表
		
		函數(shù)原型:
			BOOL CGIHtmlTemplateTagListDestroy( SList **listHtmlTemplateTag );
		輸入?yún)?shù):
			SList **listHtmlTemplateTag		HTML模板替換宏鏈表首結(jié)點(diǎn)地址的地址
		返回值:
			成功,返回 TRUE
			失敗,返回 FALSE
		
		詳細(xì)描述與注意事項(xiàng):
			(無)
		示例代碼:
			SList	*plistTemplateTag = NULL ;
			BOOL	bret ;
			bret = CGIHtmlTemplateTagListDestroy( &plistTemplateTag ) ;
		相關(guān)函數(shù):
			CGIHtmlTemplateTagListInitial
		
		·CGIHtmlLoadTemplate
		裝載HTML模板
		
		函數(shù)原型:
			int CGIHtmlLoadTemplate( char *filename , char *template_buf );
		輸入?yún)?shù):
			char *filename			外部HTML模板文件名
			char *template_buf		裝載緩沖區(qū)
		返回值:
			成功,返回 0
			失敗,返回 -1
		
		詳細(xì)描述與注意事項(xiàng):
			(無)
		示例代碼:
			char	acTemplateBuffer[ 1024 + 1 ] ;
			int		iret ;
			iret = CGIHtmlLoadTemplate( "template.html" , acTemplateBuffer ) ;
		相關(guān)函數(shù):
			CGIHtmlLoadTemplateSafely
		
		·CGIHtmlLoadTemplateSafely
		安全的裝載HTML模板

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美成人午夜电影| 欧美精品一区二区三| 亚洲国产综合视频在线观看| 欧美视频在线播放| 日产精品久久久久久久性色 | 在线一区二区视频| 香蕉成人啪国产精品视频综合网 | 欧美日韩一区二区三区不卡| 奇米精品一区二区三区在线观看一 | 国产三级久久久| av亚洲精华国产精华精| 亚洲精品成人精品456| 制服丝袜av成人在线看| 韩国女主播一区二区三区| 国产精品色在线| 一本到不卡免费一区二区| 午夜国产精品影院在线观看| 精品久久99ma| 不卡一二三区首页| 亚洲一区二区三区四区的| 91精品久久久久久久91蜜桃| 亚洲一区二区三区四区的| 精品国内片67194| 丁香桃色午夜亚洲一区二区三区| 亚洲图片激情小说| 欧美在线播放高清精品| 久久99精品一区二区三区三区| 国产欧美日产一区| 欧美亚洲自拍偷拍| 欧美a级一区二区| 国产精品日日摸夜夜摸av| 色婷婷精品久久二区二区蜜臂av | 成人av资源站| 天堂资源在线中文精品| 日韩欧美中文字幕公布| 国产成人av一区二区三区在线观看| 中文字幕日本乱码精品影院| 欧美天堂一区二区三区| 国产九色sp调教91| 亚洲欧美日韩国产中文在线| 777奇米四色成人影色区| 国产精品99久久久久久有的能看| 亚洲六月丁香色婷婷综合久久| 欧美日本精品一区二区三区| 亚洲一区二区欧美日韩| 久久久久久夜精品精品免费| 色综合天天综合网天天看片| 另类小说欧美激情| 国产精品不卡视频| 欧美裸体一区二区三区| 自拍偷拍国产精品| 91精品国产高清一区二区三区| 国产成人午夜精品影院观看视频 | 国产一区中文字幕| 亚洲欧洲成人精品av97| 欧美精品黑人性xxxx| 99久久久国产精品免费蜜臀| 日韩高清中文字幕一区| 国产精品女同互慰在线看| 欧美人狂配大交3d怪物一区 | 国产主播一区二区三区| 亚洲午夜在线视频| 欧美国产日韩精品免费观看| 欧美三区在线观看| 成人av在线一区二区| 天堂在线一区二区| 一区二区视频在线看| 精品久久久三级丝袜| 色一区在线观看| 免费高清在线视频一区·| 亚洲综合免费观看高清完整版 | 国产美女娇喘av呻吟久久| 亚洲综合视频在线观看| 国产亚洲一本大道中文在线| 欧美日韩国产高清一区二区三区 | 欧美大白屁股肥臀xxxxxx| 欧美性xxxxxxxx| 成人影视亚洲图片在线| 精品夜夜嗨av一区二区三区| 亚洲综合在线第一页| 最新国产成人在线观看| 精品国产一区二区三区不卡 | 中文字幕av一区二区三区免费看| 日韩免费高清电影| 欧美色倩网站大全免费| 色悠悠久久综合| 国产成人一区在线| 国产在线精品一区二区不卡了| 亚洲国产cao| 亚洲亚洲人成综合网络| 一区在线中文字幕| 欧美国产激情一区二区三区蜜月 | 天堂成人免费av电影一区| 亚洲综合免费观看高清完整版| 日本一区二区三区在线不卡| 日韩免费在线观看| 欧美丰满少妇xxxxx高潮对白| 欧美性一区二区| 97久久超碰国产精品| 99久久夜色精品国产网站| 国产精品亚洲一区二区三区妖精| 久久精品国产免费| 日韩在线一二三区| 日本一区二区久久| 欧美国产精品v| 久久久久久一级片| 国产日韩欧美综合在线| 欧美精品一区男女天堂| 欧美成人女星排行榜| 日韩欧美一区二区免费| 日韩欧美卡一卡二| 51精品秘密在线观看| 91精品国产一区二区三区| 欧美性大战久久久久久久蜜臀 | 成人午夜看片网址| 成人中文字幕电影| 粗大黑人巨茎大战欧美成人| 高清成人在线观看| 懂色中文一区二区在线播放| 粉嫩av亚洲一区二区图片| 成人性色生活片免费看爆迷你毛片| 国产成人免费视| 成人免费高清视频| 91免费观看在线| 色天天综合久久久久综合片| 欧洲精品视频在线观看| 欧美亚洲国产bt| 欧美一级日韩不卡播放免费| 日韩小视频在线观看专区| 亚洲精品一区二区三区蜜桃下载 | 中文字幕字幕中文在线中不卡视频| 亚洲天堂2016| 亚洲精品国产无天堂网2021| 国产精品理伦片| 亚洲免费观看在线视频| 亚洲免费视频中文字幕| 亚洲自拍偷拍九九九| 亚洲午夜一区二区三区| 青青草一区二区三区| 老司机午夜精品| 成人免费黄色在线| 91视频91自| 91精品国产综合久久小美女| 欧美成va人片在线观看| 国产精品欧美一区二区三区| 亚洲女同ⅹxx女同tv| 日韩不卡在线观看日韩不卡视频| 日韩精品三区四区| 国产盗摄视频一区二区三区| 不卡的av电影在线观看| 欧美日韩成人综合天天影院| 日韩三级在线观看| 日韩一区二区三区四区| 日韩一区二区影院| 国产盗摄精品一区二区三区在线| 免费在线观看一区二区三区| 日韩精品欧美成人高清一区二区| 樱花影视一区二区| 国产亚洲精品资源在线26u| 欧美日韩高清在线| 国产乱一区二区| 亚洲一区在线观看免费 | 成人免费观看av| 国产一区二区三区在线看麻豆| 肉肉av福利一精品导航| 国产精品久久久久久久久果冻传媒| 成a人片亚洲日本久久| 亚洲一二三四久久| 中文字幕中文在线不卡住| 日韩精品一区二区三区老鸭窝| 91丨九色丨尤物| 成人白浆超碰人人人人| 免费成人在线观看视频| 国产精品日产欧美久久久久| 色婷婷国产精品| 青青草伊人久久| 亚洲人成亚洲人成在线观看图片 | 成人精品视频一区二区三区| 天天操天天色综合| 一区二区三区蜜桃网| 综合久久久久综合| 国产精品福利在线播放| 日本一区二区三区免费乱视频| 欧美人伦禁忌dvd放荡欲情| 一本久久a久久精品亚洲| 色婷婷av一区二区三区gif| 成人av在线网| 在线播放中文字幕一区| 欧美大片一区二区| 中文字幕人成不卡一区| 国产亚洲一区二区在线观看| 久久色中文字幕| 久久夜色精品国产噜噜av| 国产亚洲欧美日韩在线一区| 国产午夜三级一区二区三| 亚洲精品成人在线| 欧美v亚洲v综合ⅴ国产v| 色婷婷精品大在线视频| 亚洲午夜在线电影| 欧美无砖专区一中文字|