cgic json_用CGIC库函数获取表单中的参数值

CGIC是非常优秀的C语言CGI库函数。 其下载地址为:

www.boutell.com/cgic/#obtain

,现在的版本号是2.05。

从 cgic.c的代码可以看出,它定义了main函数,而在cgictest.c中定义了一个cgiMain函数。也就是说,对于使用CGIC编写的CGI 程序,都是从cgic.c中的代码进入,在库函数完成了一系列必要的操作(比如解析参数、获取系统环境变量)之后,它才会调用你的代码(从你定义的 cgiMain进入)。

我们在提交一个表单(form)时,怎样把表单内的值提取出来呢?

比如下面这个表单:

当out.cgi收到请求时,需要把输入框”name”和输入框”number”内的值提取出来。而且不管form中的action是GET还是POST,都要有效。

下面给出示例代码:

下载: test.c

1. #include

2. #include "cgic.h"

3. #include

4. #include

5.

6. int cgiMain() {

7.     char name[241];

8.     char number[241];

9.     cgiHeaderContentType("text/html");

10.     fprintf(cgiOut, "

\n");

11.     fprintf(cgiOut, "

My CGI\n");

12.     fprintf(cgiOut, "

");

13.     cgiFormString("name", name, 241);

14.     cgiFormString("number", number, 241);

15.     fprintf(cgiOut, "

%s

",name);

16.     fprintf(cgiOut, "

%s

",number);

17.     fprintf(cgiOut, "\n");

18.     fprintf(cgiOut, "\n");

19.     return 0;

20. }

从上面的代码可以看出,第13行和第14行获取了输入框的值。

可以看到该网页的提交方式是enctype="multipart/form-data",但是在CGIC中已经帮我们做好判断了,

所以不管我们提交网页是什么格式的,都没问题

获取输入参数值在CGIC中其实有一族函数,cgiFormString是其中最常用的一个。

cgiFormStringNoNewlines用来去掉换行符(如果用户是在一个TextArea里输入字符的话);

cgiFormStringSpaceNeeded用于测试输入值的长度,可以以此为依据,然后按需精确分配缓冲区。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值