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

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

?? yacgi.html

?? C libs that handle common CGI operations.
?? HTML
?? 第 1 頁 / 共 2 頁
字號:
<html><head><title>yacgi: Yet Another C/C++ library for CGI Programming</title></head><BODY BGCOLOR="#ffffff"><h1>yacgi: Yet Another C/C++ library for CGI Programming</h1>version 1.2<br><STRONG>Andrew Girow / Andriy Zhyrov /</STRONG><BR><BR><FONT SIZE="-1">Copyright &copy 1997 Andrew Girow. All Rights Reserved.</FONT><P><h3>Table of Contents</h3><ul><li><a href="#whatnew">What's new in version 1.2?</a><li><a href="#whatis">Why yacgi?</a><li><a href="#basics">Basic concepts</a><li><a href="#credit">Credits and License Terms</a><li><a href="#obtain">Obtaining yacgi</a><li><a href="#using">Using yacgi</a><li><a href="#reference">yacgi reference</a></ul><hr><h2><a name="whatnew">What's new in version 1.2?</a></h2>Version 1.02 corrects bugs in previous versions:   <ul>    <li> cgiClose now works propertly.  </ul>New examples are added       <ul>    <li> <a href="emailhd.html">YACGI Simple Email Handler (1.1)</a>  </ul><h2><a name="whatis">Why yacgi?</a></h2>There are two main sources for yacgi:<ul><li><a href="http://www.boutell.com/cgic/">CGIC</a>    is an ANSI C-language library for the creation of CGI-based    World Wide Web applications by<a href="http://www.boutell.com/boutell/">Thomas Boutell</a><BR><li><a href="./bra.html"> Binary Relation Approach to Data Modelling</a><BR></ul><p>There are two main reasons for yacgi:<ul><li>    CGIC is an exelect tool but there are some difficults in    the library structure and the interface. <BR>    <BR>    From CGIC 1.05 documentation:<BR><em>Since all CGI applications must perform certain initialtasks, such as parsing form data and examiningenvironment variables, the cgic library provides itsown main() function. When you write applications thatuse cgic, you will begin your own programs by writinga cgiMain() function, which cgic will invoke whenthe initial cgi work has been successfully completed.<p>...<strong>Important:</strong> if you write your own main()function, your program will not link properly. Your owncode should begin with cgiMain(). The libraryprovides main() for you.<p>...This function takes advantage of cgiFormCheckboxMultiple(),which is used to identify one or more selected checkboxes withthe same name. This function performs identically tocgiFormSelectMultiple().That is, &lt;SELECT&gt; tags with the MULTIPLE attribute are handledjust like a group of several checkboxes with the same name.</em><p>... and so on.<p>    <li> Using Binary Relation Model we can construct very simple and         powerful model and library for CGI programming</ul><p><hr><h2><a name="basics">Basic concepts</a></h2>In general, <STRONG>a binary relation</STRONG> consists of two terms<STRONG>a key</STRONG> and <STRONG>a value</STRONG> which refer toentities, and a predicate <STRONG>an access function</STRONG> whichconnects the terms by saying something about them.<P><PRE><STRONG>example</STRONG>:   "A person works in an enterprise."</PRE><P><center><IMG SRC="brapic1.gif"></center><P>Picture 1.<P>In general, an access function is a function which maps one objectinto the powerset of another (the set of all subset).While defining a relation one gives the key and value object typesinvolved, and one defines the access function and gives informationabout its cardinality. When the cardinal of an access function is<STRONG>unique</STRONG> then it is a function. When the cardinal of anaccess function is <STRONG>multiple</STRONG> then it is a multiple-valuedfunction.<p>For the CGI programming (about the CGI standard,see the <a href="http://hoohoo.ncsa.uiuc.edu/cgi/">CGI documentation</a> at NCSA.)we can use a very simple model:<ul><li>Name-Value Relation<li>State of Relation<li>CGI Environment</ul><center><IMG SRC="yacgi.gif"></center>Picture 2. Binary Relation Model of CGI Programming<p><hr><h2><a name="credit">Credits and License Terms</a></h2>yacgi can be used free of charge, provided that a credit notice is provided online. Alternatively, a nonexclusive Commercial License can be purchased, which grants the right to use cgic without apublic credit notice. <P>Please see the file <a href="license.txt">license</a> for the details of the Basic License and Commercial License,including ordering information for the Commercial License. <hr><h2><a name="obtain">Obtaining yacgi</a></h2>Your web browser should inquire whether to save the file to diskwhen you select the link below.<ul><li><a href="yacgi12_tar.gz">yacgi12_tar.gz</a></ul><hr><h2><a name="using">Using yacgi</a></h2>There are very few basic concepts that you need to know. Wedescribe the concepts as abstract data types. There is a 1:1correspondence between YACGI abstract data types and the BinaryRelations Approach to CGI basic items.<P><STRONG>Opening Relation</STRONG><BR>This code opens the relation.<P><PRE>#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#include "yacgi.h"main(int argc, char *argv[]){    CGI *cgi;    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);    }</PRE><P><STRONG>Closing Relation</STRONG><BR>You should close the relation before exit the program.<PRE>    /*------------------------------------------------------     *                 Closing Relation.     *------------------------------------------------------*/    cgiClose(cgi);}</PRE><P><STRONG>Scanning Relation</STRONG><BR>You can use traversing or scanning the relation, accessing eachstored pair of names-values in turn to perform some test oraction.<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;    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);    }    /*-----------------------------------------------------------     *              Scanning Relation     *-----------------------------------------------------------*/    printf("&lt;CENTER&gt;&lt;H2&gt;Scanning Name-Value Relation&lt;/H2&gt;&lt;/CENTER&gt;");    printf("You submitted the following name/value pairs:&lt;p&gt;%c",10);    printf("&lt;ul&gt;%c",10);    more= cgiFirst(cgi);    while(more)    {        printf("&lt;li&gt; &lt;code&gt;%s = %s&lt;/code&gt;%c",cgiName(cgi),               cgiValue(cgi),10);        more = cgiNext(cgi);    }    printf("&lt;/ul&gt;%c",10);    /*------------------------------------------------------     *                 Closing Relation.     *------------------------------------------------------*/    cgiClose(cgi);}</PRE><P><STRONG>Evaluating Relation</STRONG><BR><P>We can "navigate" from objects to objects using binaryrelation. To do this, we use cgiValueFirst and cgiValueNext functions.For instance, we have a Name "sex" and want to know value of sex.The code is:<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;    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);    }    /*-----------------------------------------------------------     *              Evaluating Relation     *-----------------------------------------------------------*/    printf("&lt;CENTER&gt;&lt;H2&gt;Evaluating Name-Value Relation&lt;/H2&gt;&lt;/CENTER&gt;");    printf("&lt;p&gt;&lt;b&gt;%s&lt;/b&gt;&lt;br&gt;%c","First Name",10);    string = cgiValueFirst(cgi, "First_Name");    if(string) printf("&lt;code&gt;%s&lt;/code&gt;&lt;br&gt;%c",string,10);    printf("&lt;p&gt;&lt;b&gt;%s&lt;/b&gt;&lt;br&gt;%c","Last Name",10);    string = cgiValueFirst(cgi, "Last_Name");    if(string) printf("&lt;code&gt;%s&lt;/code&gt;&lt;br&gt;%c",string,10);    printf("&lt;p&gt;&lt;b&gt;%s&lt;/b&gt;&lt;br&gt;%c","Date of Birth",10);    string = cgiValueFirst(cgi, "D_O_B");    if(string) printf("&lt;code&gt;%s&lt;/code&gt;&lt;br&gt;%c",string,10);    printf("&lt;p&gt;&lt;b&gt;%s&lt;/b&gt;&lt;br&gt;%c","Sex",10);    string = cgiValueFirst(cgi, "Sex");    if(string) printf("&lt;code&gt;%s&lt;/code&gt;&lt;br&gt;%c",string,10);    printf("&lt;p&gt;&lt;b&gt;%s&lt;/b&gt;&lt;br&gt;%c","Degree",10);    string = cgiValueFirst(cgi, "Degree");    if(string) printf("&lt;code&gt;%s&lt;/code&gt;&lt;br&gt;%c",string,10);    printf("&lt;p&gt;&lt;b&gt;%s&lt;/b&gt;&lt;br&gt;%c","Current Occupation",10);    string = cgiValueFirst(cgi, "Occupation");    if(string) printf("&lt;code&gt;%s&lt;/code&gt;&lt;br&gt;%c",string,10);    printf("&lt;p&gt;&lt;b&gt;%s&lt;/b&gt;&lt;br&gt;%c","Duties",10);    string = cgiValueFirst(cgi, "Duties");    if(string) printf("&lt;code&gt;%s&lt;/code&gt;&lt;br&gt;%c",string,10);    /*----------------------------------------------------------     * Let us now look at multiple relations. Assume we want the     * skills of the person.     * We write:     *---------------------------------------------------------*/    printf("&lt;p&gt;&lt;b&gt;%s&lt;/b&gt;&lt;br&gt;%c","Skills",10);    string = cgiValueFirst(cgi, "Skills");    while(string)    {        printf("&lt;code&gt;%s&lt;/code&gt;&lt;br&gt;%c",string,10);        string = cgiValueNext(cgi, "Skills");    }    /*------------------------------------------------------     *                 Closing Relation.     *------------------------------------------------------*/    cgiClose(cgi);}</PRE><P>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本不卡视频一二三区| 色综合久久九月婷婷色综合| 成人三级伦理片| 欧美群妇大交群中文字幕| 国产欧美日韩精品在线| 日本va欧美va欧美va精品| 97久久超碰精品国产| 精品999久久久| 午夜久久久久久久久| 高清成人免费视频| 欧美一区二区三区免费视频| 亚洲视频在线一区观看| 国模冰冰炮一区二区| 91精品国产91久久久久久最新毛片| 国产精品萝li| 国产精品一二三区在线| 欧美一区二区免费视频| 亚洲1区2区3区4区| 在线观看不卡一区| 亚洲婷婷在线视频| a在线播放不卡| 国产精品免费看片| 国产成人aaa| 国产人成亚洲第一网站在线播放| 黑人巨大精品欧美一区| 日韩欧美电影在线| 日本aⅴ亚洲精品中文乱码| 欧美精品精品一区| 亚洲国产精品成人综合| 蜜臀av性久久久久蜜臀av麻豆| 91污在线观看| 国产欧美视频在线观看| 日本在线不卡一区| 欧洲日韩一区二区三区| 国产精品的网站| 国产精品一级片在线观看| 91精品国产入口| 亚洲成人免费视频| 日本韩国视频一区二区| 国产精品久久久久桃色tv| 国产自产v一区二区三区c| 91麻豆精品国产91久久久 | 午夜精品福利一区二区蜜股av| 成人激情免费视频| 欧美激情一二三区| 高清在线不卡av| 国产精品网站在线| 国产v综合v亚洲欧| 国产欧美一区二区精品婷婷| 日本va欧美va欧美va精品| 欧美精品777| 日本欧美一区二区| 欧美丰满少妇xxxbbb| 亚洲国产日日夜夜| 成人h版在线观看| 一区二区三区在线免费播放| 色婷婷av一区二区三区软件| 亚洲在线中文字幕| 欧美老肥妇做.爰bbww| 天堂午夜影视日韩欧美一区二区| 91精品久久久久久久久99蜜臂| 日韩激情视频在线观看| 欧美在线不卡一区| 亚洲www啪成人一区二区麻豆| 欧美三级日本三级少妇99| 日韩有码一区二区三区| 日韩一二三区视频| 国产一区三区三区| 国产精品视频yy9299一区| 成人不卡免费av| 一片黄亚洲嫩模| 制服丝袜亚洲色图| 国模套图日韩精品一区二区| 国产拍欧美日韩视频二区| heyzo一本久久综合| 一区二区三区高清| 欧美天堂亚洲电影院在线播放| 中文字幕成人网| 91视频精品在这里| 美腿丝袜一区二区三区| 国产亚洲一区二区三区四区| 成年人网站91| 日韩影院精彩在线| 国产精品久久久久久妇女6080 | 欧美一区二区三区免费在线看 | 欧美mv日韩mv亚洲| 风间由美性色一区二区三区| 一区二区在线看| 欧美xfplay| 91九色最新地址| 韩国理伦片一区二区三区在线播放| 亚洲国产精品精华液2区45| 欧美视频一区二区三区四区 | 国产精品夫妻自拍| 91精品国产综合久久久久| 国产精品一品二品| 天堂精品中文字幕在线| 日韩美女视频在线| 激情综合网天天干| 一区二区三区四区蜜桃| 国产日韩综合av| 911国产精品| 99精品1区2区| 国产乱色国产精品免费视频| 亚洲国产成人高清精品| 国产精品天天看| 精品毛片乱码1区2区3区| 在线观看亚洲专区| 成人综合在线视频| 另类小说一区二区三区| 亚洲一区视频在线观看视频| 国产亚洲欧美日韩俺去了| 欧美一区二区三区成人| 色屁屁一区二区| 99久久精品国产一区| 国产乱子轮精品视频| 日韩精品乱码免费| 一区二区视频在线| 中文字幕一区二区三区不卡在线 | 一本一道波多野结衣一区二区| 国内久久婷婷综合| 三级不卡在线观看| 中文字幕一区二区三区四区不卡| 91精品国产高清一区二区三区| av一二三不卡影片| 国产成人av一区二区三区在线| 免费观看日韩电影| 久久精品国产精品亚洲红杏| 日韩在线一区二区三区| 天天爽夜夜爽夜夜爽精品视频| 亚洲在线免费播放| 亚洲成av人片在线| 性做久久久久久久久| 亚洲成人av中文| 日韩国产精品大片| 手机精品视频在线观看| 亚洲私人黄色宅男| 一区二区在线电影| 婷婷开心久久网| 午夜精品免费在线观看| 日本亚洲视频在线| 精品制服美女久久| 国产精品一区二区久久不卡| 国产aⅴ综合色| av中文字幕在线不卡| 色狠狠av一区二区三区| 91免费版pro下载短视频| 欧美日韩一区二区三区四区| 欧美一级xxx| 久久婷婷国产综合精品青草| 国产亚洲精品bt天堂精选| 国产精品久久久久久福利一牛影视 | 亚洲成a人在线观看| 亚洲国产综合91精品麻豆| 天天av天天翘天天综合网| 麻豆国产精品一区二区三区| 国产精品一区专区| 99r国产精品| 日韩一区二区三区高清免费看看| 久久奇米777| 亚洲欧美视频一区| 天堂精品中文字幕在线| 美洲天堂一区二卡三卡四卡视频 | 欧美综合在线视频| 日韩一区二区在线免费观看| 国产亚洲女人久久久久毛片| 亚洲欧美日韩中文字幕一区二区三区| 亚洲小少妇裸体bbw| 五月天精品一区二区三区| 韩国午夜理伦三级不卡影院| 91看片淫黄大片一级在线观看| 欧美日韩dvd在线观看| 国产亚洲精品超碰| 26uuu亚洲综合色| 夜夜精品浪潮av一区二区三区| 麻豆精品一区二区三区| av一区二区三区在线| 欧美一区日韩一区| 日韩理论片中文av| 手机精品视频在线观看| 欧美在线一二三| 欧美国产视频在线| 免费在线看成人av| 91久久精品日日躁夜夜躁欧美| www国产精品av| 天天操天天色综合| 色婷婷国产精品综合在线观看| 久久久五月婷婷| 日本一区中文字幕 | 视频一区二区中文字幕| 成人av午夜电影| 日韩欧美色综合网站| 午夜久久久久久久久久一区二区| 成人av先锋影音| 久久久91精品国产一区二区三区| 日韩精彩视频在线观看| 91成人免费在线| 国产精品国产三级国产有无不卡| 激情综合网最新| 欧美tickling挠脚心丨vk|