博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C/C++与WAP的综合应用(转)
阅读量:2496 次
发布时间:2019-05-11

本文共 2457 字,大约阅读时间需要 8 分钟。

C/C++与WAP的综合应用
使用C/C++也可生成WAP页面和开发出复杂的WAP应用。我们仍以WML为例来说明C/C++在WAP开发中的具体应用。当然,用户首先应当在自己的系统中安装好诸如Visual C++的开发系统,并使之能够正常运行,而且要具有一定的CGI基本知识,了解C/C++的语法及函数。
11.5.1 基本规则
使用C/C++编写WML程序的基本规则如下:
(1) 程序行语句均以分号( ; )结尾,这与C/C++语言的原本要求是一致的。
(2) 使用printf语句来编写(输出)WML的标签或语句,并在WML行后面加上换行符“ ”。基本格式为:
printf("……(WML标签或语句行) ");
如果WML标签或语句中有引号等特殊字符,则应采用C/C++的书写规则,比如将引号(")加上斜杠“"”。
下面的语句就说明了使用C/C++的printf编写WML程序的例子:
printf("Content-type: text/vnd.wap.wml ");
printf("<?xml version="1.0"?> ");
printf(";
printf("" ""> ");
printf(" ");
printf(" ");
…………
与C/C++的其他语句一样,WML的语句也要放在C/C++的函数中予以实现,后面的举例会说明这一点。
(3) 使用C/C++语言编写WML程序时,C/C++的注释符“//”及“/* …… */”仍然可以使用,其他编程规则及预编译文件等均可采用。
(4) 文件最后保存时采用的扩展名为C/C++程序文件及预编译文件的扩展名,不能再使用“.wml”等扩展名。
11.5.2 程序举例
熟悉C/C++的读者都知道,利用C/C++可以实现极为广泛和复杂的应用,但程序规模通常也比较大,因此我们这里的篇幅恐怕不允许我们讨论过于复杂的例子。下面我们只通过一个比较简单的例子,说明使用C/C++开发WML页面应用的方法。
我们这个例程利用CGI功能实现了WAP浏览器的动态输出效果。程序很简单,我们就不过多解释了。程序清单如下:
#include
#include
#include
#include
void GenerateCGIHeader();
void GenerateCGIFooter();
/*--------------------------------------------------------------*/
int main(int argc, char* argv[])
{
  char tmpBuf[128];
  char strGET[]="GET";
  if (getenv("REQUEST_METHOD") == NULL)
  {
    printf("This script is not intended to run from shell. ");
    return -1;
  }
  // 检查request的方法(method)是否是GET
  strcpy(tmpBuf, getenv("REQUEST_METHOD"));
  if (strcmp(tmpBuf, strGET) != 0)
  {
    printf("This script requires use of GET-method. ");
    return -1;
  }
  /* 显示WML页面内容 */
  GenerateCGIHeader();
  /* 显示操作系统日期和时间 */
  _strtime( tmpBuf );
  printf( "OS time:%s ", tmpBuf );
  _strdate( tmpBuf );
  printf( "OS date:%s ", tmpBuf );
  /* 结束WML页面的显示 */
  GenerateCGIFooter();
  return 0;
}
/*--------------------------------------------------------------*/
void GenerateCGIHeader()
{
  /* Generate header for CGI response */
  printf("Status: 200 ");
  printf("Content-type: text/vnd.wap.wml ");
  printf("<?xml version="1.0"?> ");
  printf(";
  printf("" ""> ");
  printf(" ");
  printf(" ");
  printf(" ");
  printf(" ");
  printf(" ");
  printf(" ");
  printf(" ");
  printf("

");

}
/*--------------------------------------------------------------*/
void GenerateCGIFooter()
{
  /* Generate footer for CGI response */
  printf("

");
  printf(" ");
  printf(" ");
}
/*--------------------------------------------------------------*/

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-125350/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10294527/viewspace-125350/

你可能感兴趣的文章
NEC学习 ---- 模块 - 带点文字链接列表
查看>>
20165301 预备作业二:学习基础和C语言基础调查
查看>>
【AGC005F】Many Easy Problems (NTT)
查看>>
jquery背景自动切换特效
查看>>
【微信小游戏实战】零基础制作《欢乐停车场》二、关卡设计
查看>>
【bzoj2500】幸福的道路 树形dp+倍增RMQ+二分
查看>>
[development][profile][dpdk] KK程序性能调优
查看>>
GMF学习系列(二) 一些知识点(续2)
查看>>
jquery关于多个显示隐藏
查看>>
asp.net core中使用log4net
查看>>
c++ STL deque容器成员函数
查看>>
LeetCode Contains Duplicate (判断重复元素)
查看>>
SVN安装部署
查看>>
MPU6050开发 -- 卡尔曼滤波(转)
查看>>
Redis主从实战
查看>>
plsql if
查看>>
LuoGu P2002 消息扩散
查看>>
linux 下安装JDK
查看>>
简单的ASP.NET无刷新分页
查看>>
宏定义学习
查看>>