c语言csp字符串,骇人听闻的 CSP

今天有点空,研究了一下CSP,有一点不大不小的收获,现在拿出来献一下丑。用个有点搞噱头的标题是因为在网上原来有就这么一篇文章,借个标题聚点人气,呵呵。而我即将要介绍的东西,的确是比较有创意的,并且文章有一段话是引用里面的,所以用一下这个标题也不足为过吧,言归正传,下面开始。

Hmm…What is CSP?

咳…..关于CSP的概念和背景,我实在懒得写了,请允许我摘录一段:

———————————————————— —————

这个CSP不是CSP(Commercial Service Provider)即商业服务提供商,CSP不是Client/Server Program,也不是Chinese Super Programer,更不是CS Player,那么什么是CSP呢?在说明什么是CSP之前,先说明什么是“骇人听闻”,一说到“骇人听闻”,你可能就想到了是什么坏事吧,其实不一定,应该说就是前所未闻的事说严重一点就是“骇人听闻”了。在每一本关于asp, php, jsp, asp.net书上都告诉你,做网站不可能使用C++,真的吗?这个CSP偏偏就是C++ Server Pages的简称,和asp、jsp类似,属于一种Web应用扩充的脚本语言,可以用来编写网页代码。其对应的文件名是”.CSP”。

(下面的文字部分来源于《CSP开发者手册》)

CSP使用C++语言作为脚本的语言,和asp、jsp、php等不同的是,CSP不是解释执行的脚本,而是真正编译后执行的脚本。因此和其它脚本语言相比较,CSP执行速度和效率都要高一些,由于使用标准的动态连接思想,因此CSP可以被用户非常方便的扩充,对于复杂的或者保密要求高的应用,完全可以通过CSP扩展来完全隐藏实现的细节。

CSP是经过编译执行的代码,用户需要作的是维护CSP的源码,而编译过程是由CSP内置的编译器来完成,称为现场编译(Field Compile)。CSP脚本的缺点是需要保存编译后的二进制代码,以提高再次执行的速度,因此CSP作的网站需要比其它脚本语言占用更多的磁盘空间。

CSP实际上就是一种CGISpawn,关于CGISpawn的详细介绍可以参考MSDN的相关内容。

———————————————————— —————

antigloss 插嘴说:

再往下看之前,请您先了解一下如何配置 CSP 服务器。先安装 IIS(5.0 以上版本)或者 Apache(1.3.x 以上版本),然后安装 C++ Server Pages (CSP) Engine。至此,一台 CSP 服务器就配置成功了。

CSP Engine 下载地址:http://cpp.ga-la.com/html/8/17/0512/98.htm

———————————————————— —————

好了,回到主题上来。现在的首要任务是:如何使用CSP写页面呢?

在场的各位会写ASP页面的有多少人呢?

嗯,好,还挺多的嘛~~~~那我就继续了。

大家都知道在ASP中写代码是要在 之间的部分写的,CSP也是如此。不过少许的差别还是有的。这个差别体现在:

1.CSP对大小写敏感。因为这是C++啊,会C/C++语言的人都知道。

2.在CSP的体系中,有一个特殊的代码段标志:。

仔细看,没错,就是写在 之间,在第一个%后面有一个!,这是作为全局变量和自定义函数代码块的标志,声明结构体也要在这里。在一个CSP页面中,所有的自定义函数的实现一定要放在之间。而其它的代码则可以像ASP代码一样在页面的各处随意穿插安放。只要在中就行。

在了解这些细节之后,我们就可以开始写页面了。

我先给出一个简单的例子,然后再仔细给大家分析一下:

int i=0;

char s[50];

for ( i = 0; i < 10; ++i )

{

sprintf(s,”& lt;br>%d : 欢迎来到CSP的世界!”,i);

Response.Wri te(s);

}

%>

访问这个CSP页面,你会得到一个显示如下内容的页面:

0 : 欢迎来到CSP的世界!

1 : 欢迎来到CSP的世界!

2 : 欢迎来到CSP的世界!

3 : 欢迎来到CSP的世界!

4 : 欢迎来到CSP的世界!

5 : 欢迎来到CSP的世界!

6 : 欢迎来到CSP的世界!

7 : 欢迎来到CSP的世界!

8 : 欢迎来到CSP的世界!

9 : 欢迎来到CSP的世界!

It is over!

大家都学过C语言吧,看看上面的语句(不是吧?你C语言挂了?!)。变量声明与循环我就不多讲了,有两句得说一下:

1.sprintf(s,”
%d : 欢迎来到CSP的世界!”,i);

这句是把我们要显示的字符串复制到缓冲区 s 中去。实现这个功能的函数是:sprintf 。是不是觉得和C语言中的 printf 很像呢?没错,它实际上与printf就是同一族的(其它的还有wsprintf , fprintf 等等。这里先不做讨论。)printf的任务是把字符串输出到屏幕,而sprintf则是把字符串输出到内存中的一块区域,以供别的代码使用。它的的用法和printf类似,都是要通过%d等一些占位符来实现格式化输出。当页面执行完这一句之后,就把“0 : 欢迎来到CSP的世界!”这样的字符串放到数组 s 中了。

2.Response.Write(s);

这一句对于经常进行ASP编程的同学应该相当熟悉吧。它的主要任务就是把刚才我们得到的字符串从内存中取出来,再写入服务器的响应,进而显示在你的浏览器上。如果你已经能够正确地显示出结果,那么恭喜你,你已经入门了!

下面介绍一下在CSP中可以使用的数据类型以及可以直接使用的基本类,还有很实用的功能类。

char

wchar_t

std::string

std::wstring

int

unsigned int

__int64

unsigned __int64

long

unsigned long

short

unsigned short

char

unsigned char

bool

double

float

以上类型支持 const 关键字。

以下是基本类:

CSPDate

CSPTime

CSPDateTime

CSPVariant

CSPBuffer

CSPDate

CSPException

CSPFile

CSPString

CSPVarArray

CSPWString

这三个类是对数据库操作的封装:

CSPODBCConnection

CSPODBCField

CSPODBCRecordset

以下是功能类:

CSPImpersonation

CSPMail

CSPMime

CSPMimePart

CSPTemplate

CSPThread

CSPThreadLock

CSPThreadLockHandler

CSPTimer

CSPTxContext

CSPTxObject

下面这几个是模板类(这确实让我很惊奇):

CSPPool

CSPPool::ObjectPtr

CSPArray

CSPPtr

写了这么多,好累啊。也不知道有人看没???对于那个为什么会有关于的规定的原因,我改天会仔细阐述的。但愿这个“改天”不会太长,呵呵。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值