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

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

?? yacgi.html

?? C libs that handle common CGI operations.
?? HTML
?? 第 1 頁 / 共 2 頁
字號:
<STRONG>Advanced Features</STRONG><BR><P>Provides string, integer, floating-point, and safe stringwithout shell metacharacters functions to retrieve form data.<P><PRE>#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#include "yacgi.h"main(int argc, char *argv[]){    CGI *cgi;    int more;    char *string;    int flag;    long i;    double r;    char c[31];    printf("Content-type: text/html%c%c",10,10);    /*-----------------------------------------------------------     *              Opening Relation     *-----------------------------------------------------------*/    cgi = cgiOpen();    if(!cgi)    {       printf("&lt;H3&gt;%s&lt;/H3&gt;%c",cgiStateMsg(),10);       exit(1);    }    /*-------------------------------------------------------------     *              Advanced Features: Input String, Integer, Real,     *              Safe String     *-----------------------------------------------------------*/    printf("&lt;CENTER&gt;&lt;H2&gt;Advanced Features&lt;/H2&gt;&lt;/CENTER&gt;");    printf("&lt;p&gt;&lt;b&gt;%s&lt;/b&gt;&lt;br&gt;%c","String",10);    flag = cgiValueString(cgi, "String", c, 30);    if(flag == CGI_OK || CGI_VAL_TRUNCATED )        printf("&lt;code&gt;%s&lt;/code&gt;&lt;br&gt;%c",c,10);    else        printf("&lt;code&gt;%s&lt;/code&gt;&lt;br&gt;%c",cgiStateMsg(),10);    printf("&lt;p&gt;&lt;b&gt;%s&lt;/b&gt;&lt;br&gt;%c","Integer",10);    flag = cgiValueInteger(cgi, "Integer", &i, 1);    if(flag == CGI_OK )        printf("&lt;code&gt;%ld&lt;/code&gt;&lt;br&gt;%c",i,10);    else        printf("&lt;code&gt;%s&lt;/code&gt;&lt;br&gt;%c",cgiStateMsg(),10);    printf("&lt;p&gt;&lt;b&gt;%s&lt;/b&gt;&lt;br&gt;%c","Real",10);    flag = cgiValueReal(cgi, "Real", &r, 1);    if(flag == CGI_OK )        printf("&lt;code&gt;%lf&lt;/code&gt;&lt;br&gt;%c",r,10);    else        printf("&lt;code&gt;%s&lt;/code&gt;&lt;br&gt;%c",cgiStateMsg(),10);    printf("&lt;p&gt;&lt;b&gt;%s&lt;/b&gt;&lt;br&gt;%c","SafeString",10);    string = cgiValueFirst(cgi, "SafeString");    if(string)        printf("&lt;code&gt;%s&lt;/code&gt;&lt;br&gt;%c",cgiSafeStr(string),10);    /*------------------------------------------------------     *                 Closing Relation.     *------------------------------------------------------*/    cgiClose(cgi);    return(0);}</PRE><P>The sample application 'yacsampl.c' is provided as part of theyacgi distribution. This CGI program accepts input submittedby the form yacsampl.html.<p><strong>IMPORTANT:</strong> after compiling yacgi, you willneed to place it in a location on your server system which isdesignated by your server administrator as an appropriate locationfor CGI scripts. Also, the URL of the action of the sample form inyacsampl.html must be changed to correctly indicate the locationof yacsampl on your web server.<p><hr><h2><a name="reference">yacgi reference</a></h2>There are very few basic concepts that you need to know. Wedescribe the concepts as abstract data types.<ul><b><a href="#Relation">Name-Value Relation</a></b> ADTavailable via functions:<br><ul><a href="#cgiOpen">    cgiOpen()</a><br><a href="#cgiClose">     cgiClose()</a><br><a href="#cgiValueFirst"> cgiValueFirst()</a><br><a href="#cgiValueNext"> cgiValueNext()</a><br><a href="#cgiFirst">     cgiFirst()</a><br><a href="#cgiNext">      cgiNext()</a><br><a href="#cgiName">      cgiName()</a><br><a href="#cgiValue">     cgiValue()</a><br>and advanced functions:<br><a href="#cgiSafeValue">    cgiSafeValue() </a><br><a href="#cgiValueString">  cgiValueString()</a><br><a href="#cgiValueInteger"> cgiValueInteger()</a><br><a href="#cgiValueReal">    cgiValueReal()</a><br><p></ul><b><a href="#State">State of Relation</a></b> ADT available via functions:<br><ul><a href="#cgiStateClear">  cgiStateClear()</a><br><a href="#cgiStateGet">  cgiStateGet()</a><br><a href="#cgiStateSet">    cgiStateSet()</a><br><a href="#cgiStateMsg">    cgiStateMsg()</a><br></ul><p><b><a href="#Environment">CGI Environment</a></b> ADT available via functions:<br><ul><a href="#cgiEnvGet">  cgiEnvGet()</a><br></ul></ul><p><p><ul><hr><b><a name="Relation">Name-Value Relation</a></b> is accessed via the following operations,that can change <a href="#State">State of Relation</a>.<hr><CITE>Open/Close functions:</CITE><BR><BR><STRONG><a name="cgiOpen">CGI   *cgiOpen();</a></STRONG><BR>Opens a Name-Value binary relation with the given name. On successfulcompletion, cgiOpen returns a pointer to the open relation. Inthe event of error, it returns null.<P><BR><STRONG><a name="cgiClose">void   cgiClose(CGI *cgi);</a></STRONG><BR>Closes the relation.<P><CITE>Evaluate functions:</CITE><BR><BR><STRONG><a name="cgiValueFirst">char *cgiValueFirst(CGI *cgi, char *Name);</a></STRONG><BR>Evaluates the first Value in the relation by the suppliedName. Returns the first Value in therelation that has a given Name. Null is returned if no pairmeets the condition. In the event of error it returns 0.<P><BR><STRONG><a name="cgiValueNext">char *cgiValueNext(CGI *cgi, char *Name);</a></STRONG><BR>Evaluates the next Value in the relation by the supplied Name.Returns the next Value in the relationthat has a given Name. Null is returned if no pair meets thecondition.  In the event of error it returns 0.<P><CITE>Iterate functions:</CITE><BR><BR><STRONG><a name="cgiFirst">int cgiFirst(CGI *cgi);</a></STRONG><BR>Moves the current position to the first stored pair. Onsuccessful completion, cgiFirst returns 1. In the event oferror it returns 0.<P><BR><STRONG><a name="cgiNext">int cgiNext(CGI *cgi);</a></STRONG><BR>Moves the current position to the next stored pair. Onsuccessful completion, cgiNext returns 1. In the event oferror it returns 0.<P><BR><STRONG><a name="cgiName">char *cgiName(CGI *cgi);</a></STRONG><BR>Returns a Name of the current pair. Ifthere is an error or if the relation is empty it returns 0.<P><BR><STRONG><a name="cgiValue">char  *cgiValue(CGI *cgi);</a></STRONG><BR>Returns a Value of the current pair. Ifthere is an error or if the relation is empty it returns 0.<P><CITE>Advanced features:</CITE><BR><BR><STRONG><a name="cgiSafeValue">char *cgiSafeValue(CGI *cgi, char *Name);</a></STRONG><BR>Evaluates the first Value in the relation by the suppliedName.<BR>Returns the first Value in therelation that has a given Name and ESCAPES the shell metacharacters.<BR>Null is returned if no pair meets the condition.In the event of error it returns 0.<P><BR><STRONG><a name="cgiValueString">int cgiValueString(CGI *cgi, char *name,char *result, int max);</a></STRONG><BR>Evaluates the first Value in the relation by the suppliedName.<BR>The string will be copied into the buffer specified by result,up to but not exceeding max-1 bytes.<BR><BR>The function returns <a href="#State">CGI_OK</a> if the Value was successfully retrieved.<BR>If the string was retrieved but was truncated to fit the buffer itreturns <a href="#State">CGI_VAL_TRUNCATED</a>,<BR><a href="#State">CGI_VAL_EMPTY</a> if the string was retrieved but was empty, and<BR><a href="#State">CGI_VAL_NOTFOUND</a> if no such Name was submitted.<P><BR><STRONG><a name="cgiValueInteger">int cgiValueInteger(CGI *cgi,char *name, long *result, long defval);</a> </STRONG><BR>Evaluates the first Value in the relation by the suppliedName.<BR>The value pointed to by result will be set to the value submitted.<BR>The function returns <a href="#State">CGI_OK</a>if the Value wassuccessfully retrieved,<BR><a href="#State">CGI_VAL_EMPTY</a>if the Value submitted is an empty string,<BR><a href="#State">CGI_VAL_BADTYPE</a> if the Value submitted is not an integer,<BR>and <a href="#State">CGI_VAL_NOTFOUND</a> if no such Namewas submitted.<BR>In the last three cases, the Value pointed to by resultis set to the specified default.<P><BR><STRONG><a name="cgiValueReal">int cgiValueReal(CGI *cgi, char *name,double *result, double defval);</a></STRONG><BR>Evaluates the first Value in the relation by the suppliedName.<BR> The value pointed to by result will be set to the value submitted.<BR>The function returns <a href="#State">CGI_OK</a>if the Value wassuccessfully retrieved,<a href="#State">CGI_VAL_EMPTY</a>if the Value submitted is an empty string,<BR><a href="#State">CGI_VAL_BADTYPE</a> if the Value submitted is not a real number,<BR>and <a href="#State">CGI_VAL_NOTFOUND</a> if no such Namewas submitted.<BR>In the last three cases, the Value pointed to by resultis set to the specified default.<P><hr><b><a name="State">State of Relation</a></b> can be one of the following<hr><p><CENTER><TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1><TR><TD> CGI_OK  </TD><TD> The function successfully performed </TD></TR><TR><TD> CGI_MEMORY                  </TD><TD> Out-of-memory error         </TD></TR><TR><TD> CGI_CONTENTTYPE             </TD><TD> MIME content type error     </TD></TR><TR><TD> CGI_REQUESTMETHOD           </TD><TD> Request metod error         </TD></TR><TR><TD> CGI_IO                      </TD><TD> I/O error                   </TD></TR><TR><TD> CGI_VAL_TRUNCATED           </TD><TD> Value was cut short         </TD></TR><TR><TD> CGI_VAL_INVALID             </TD><TD> Value was not a legal type  </TD></TR><TR><TD> CGI_VAL_EMPTY               </TD><TD> Value contained no data     </TD></TR><TR><TD> CGI_VAL_NOTFOUND </TD><TD> No value was submitted      </TD></TR><TR><TD> CGI_LASTERROR               </TD></TR></TABLE></CENTER><P><b>State of Relation</b> is accessed via the following operations:<P><BR><STRONG><a name="cgiStateClear">void cgiStateClear();</a></STRONG><BR>Resets state of Name-Value Relation to CGI_OK<p><BR><STRONG><a name="cgiStateGet">int  cgiStateGet();</a></STRONG><BR>Returns current state of Name-Value Relation<p><BR><STRONG><a name="cgiStateSet">int  cgiStateSet(int val);</a></STRONG><BR>Resets state of Name-Value Relation to the given value<p><BR><STRONG><a name="cgiStateMsg">char *cgiStateMsg();</a></STRONG><BR>Returns state of Name-Value Relation string<p><hr><b><a name="Environment">CGI Environment</a></b> ADT available via functions:<br><hr><BR><STRONG><a name="cgiEnvGet">char *cgiEnvGet(char *var);</a></STRONG><BR>Obtains the current value of the CGI environment, var<p>The CGI standard specifies a number of environment variableswhich are set by the server.<p>Instead of calling getenv() you can use cgiEnvGet functionthat always returns valid C strings (they are never null, althoughthey may point to an empty string).</ul><CENTER><A HREF="index.html"> HOME </A></CENTER><p><FONT SIZE="-1">Copyright &copy 1997 Andrew Girow. All Rights Reserved.</FONT><HR SIZE=3><FONT SIZE="-1">Last updated: July 21, 1997</FONT></BODY></HTML>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美一区二区精品性色超碰| 亚洲chinese男男1069| 日韩欧美久久久| 欧美色视频在线观看| 91在线精品秘密一区二区| 国产成人综合亚洲91猫咪| 久久精品国产精品亚洲综合| 日韩高清一级片| 婷婷久久综合九色国产成人| 五月激情综合网| 亚洲va天堂va国产va久| 香蕉成人伊视频在线观看| 亚洲自拍偷拍av| 亚洲一区二区三区四区的| 洋洋av久久久久久久一区| 亚洲精品免费在线观看| 亚洲精品中文字幕在线观看| 亚洲激情在线播放| 亚洲午夜视频在线观看| 亚洲成人免费影院| 蜜桃视频第一区免费观看| 久久99精品一区二区三区| 狠狠色狠狠色综合| 高清在线成人网| 91在线视频免费91| 欧美日韩一区二区三区在线看| 欧美亚洲另类激情小说| 欧美福利电影网| 日韩写真欧美这视频| 日韩欧美综合在线| 久久久久久免费毛片精品| 中文在线资源观看网站视频免费不卡| 中文字幕日韩一区二区| 夜夜嗨av一区二区三区四季av | 91精品国产色综合久久不卡电影 | 午夜视频在线观看一区二区三区| 首页国产欧美久久| 国产一区在线观看视频| 成人99免费视频| 51久久夜色精品国产麻豆| 精品国精品国产| 日本一区二区成人| 亚洲综合一区在线| 乱中年女人伦av一区二区| 粉嫩aⅴ一区二区三区四区五区 | 日韩精品一区二区三区视频在线观看 | 亚洲日穴在线视频| 午夜精品免费在线观看| 国产在线播放一区二区三区| 暴力调教一区二区三区| 欧美色精品在线视频| 精品动漫一区二区三区在线观看| 国产精品三级在线观看| 亚洲h在线观看| 成人免费视频国产在线观看| 欧美亚洲日本一区| 日本一区二区三区久久久久久久久不| 亚洲一区二三区| 狠狠色丁香婷婷综合| 日本韩国精品在线| 久久久久国产一区二区三区四区| 亚洲美女屁股眼交3| 日本91福利区| 一本大道久久a久久精品综合| 91精选在线观看| 亚洲视频精选在线| 黄色成人免费在线| 欧美丰满高潮xxxx喷水动漫| 国产精品免费视频一区| 青青草97国产精品免费观看无弹窗版| 成人动漫在线一区| 欧美大片一区二区| 亚洲成人动漫在线免费观看| 成人久久18免费网站麻豆| 欧美一级专区免费大片| 一区二区三区精品在线观看| 国产乱理伦片在线观看夜一区| 欧美日韩免费观看一区二区三区| 中文字幕乱码久久午夜不卡| 免费成人在线网站| 欧美日韩亚洲不卡| 亚洲精品水蜜桃| 成人一区二区视频| www激情久久| 欧美bbbbb| 欧美日韩美女一区二区| 国产精品国产三级国产普通话蜜臀| 久久精品国产精品青草| 欧美精品成人一区二区三区四区| 亚洲天堂免费看| 成人动漫中文字幕| 国产农村妇女精品| 国产麻豆视频精品| 精品粉嫩aⅴ一区二区三区四区| 日韩精品一级二级 | 国产精品情趣视频| 国产精品资源网| 日韩免费看的电影| 日本成人在线不卡视频| 欧美日韩国产综合一区二区| 一区二区三区四区亚洲| 91色porny| 亚洲色图清纯唯美| 色综合网色综合| 中文字幕五月欧美| 91色|porny| 亚洲精品一二三四区| 97久久精品人人做人人爽50路| 中文字幕欧美区| 丰满白嫩尤物一区二区| 国产精品久久看| 91色综合久久久久婷婷| 亚洲视频网在线直播| 色婷婷久久一区二区三区麻豆| 亚洲色图在线视频| 在线观看日韩国产| 亚洲国产精品视频| 欧美一区二区在线免费播放| 婷婷综合久久一区二区三区| 欧美一区二区在线不卡| 精品亚洲欧美一区| 国产亚洲一区二区三区在线观看 | 蜜臀av一区二区三区| 日韩欧美高清dvd碟片| 久久99热国产| 国产午夜精品理论片a级大结局| 国产成人精品免费在线| 国产精品美女视频| 日本乱人伦一区| 午夜精品一区二区三区电影天堂 | 国产午夜精品久久久久久免费视 | 国产麻豆精品视频| 国产精品天美传媒沈樵| 色综合久久天天| 午夜不卡av免费| 精品福利一二区| 不卡高清视频专区| 一区二区三区成人在线视频| 制服丝袜亚洲网站| 国产综合色精品一区二区三区| 国产欧美日韩不卡免费| 91在线丨porny丨国产| 日韩成人一区二区| 久久精品人人爽人人爽| 91丨九色丨尤物| 青青草原综合久久大伊人精品| 久久久另类综合| 色88888久久久久久影院野外| 日本欧美加勒比视频| 国产欧美一区二区精品忘忧草 | 不卡影院免费观看| 视频一区视频二区中文| 欧美国产精品久久| 欧美另类高清zo欧美| 国产精品18久久久| 亚洲成在线观看| 国产欧美一区二区精品性色超碰 | 国产精品美女一区二区三区| 欧美日本在线视频| 成人中文字幕在线| 午夜av一区二区三区| 中文字幕一区二区三区av| 91精品国产综合久久久蜜臀粉嫩| 国产91精品一区二区麻豆亚洲| 一区二区日韩av| 久久你懂得1024| 欧美日韩在线三级| 成人永久aaa| 久久aⅴ国产欧美74aaa| 亚洲一区精品在线| 中文字幕制服丝袜成人av | 中文字幕在线不卡| 欧美成人vr18sexvr| 欧美中文字幕一区二区三区亚洲| 国产在线视频一区二区三区| 亚洲精品v日韩精品| 国产色产综合色产在线视频| 欧美精品高清视频| 色av成人天堂桃色av| 成人av免费网站| 经典三级视频一区| 五月天激情综合网| 亚洲综合偷拍欧美一区色| 国产视频亚洲色图| 欧美精品一区二区三区蜜臀| 欧美性三三影院| av在线这里只有精品| 激情成人综合网| 日韩精品亚洲专区| 亚洲成国产人片在线观看| 亚洲欧洲一区二区三区| 欧美激情一区二区三区不卡| 日韩欧美高清在线| 欧美一区二区在线视频| 欧美精品在线一区二区三区| 91麻豆国产自产在线观看| 丁香婷婷综合激情五月色| 国产在线观看一区二区| 久久99久久99| 视频在线观看一区|