
16.C/C++语言在CB中的一些特定用法
2)AnsiString是从Delphi中引进来的吗?
答:CB的核心组件VCL是用Object Pascal语言写出的,所以CB的VCL组件的属性有很多都是使用long string,例如:Text、 Name、Caption等属性都是使用Object Pascal的long string。基于此关系,CB只好建立了和Object Pascal的long string相应的类别,我们将它称为AnsiString。
3)AnsiString与String有什么区别?
答: C++ Builder在Sysdefs.h头文件中有这样的定义:
typedef AnsiString String;
从这一点在看他二者是完全一样的,只是书写起来后者更方便一些,前者是意图更明了一些。
4)能介绍一下AnsiString类的一些常见函数及其用法吗?
答:当然可以了,下面就常见函数做一下简单介绍:
成员函数 | 语法 | 功能 |
c_str | char *_fastcall c_str() const | 返回字符串数据的指针 |
Delete | void _fastcall Delete(int index,int count) | 由index处开始删除count个字符 |
Insert | void _fastcall Insert(const AnsiString& str,int index) | 由index处开始插入字符str到原字符串中 |
IsEmpty | bool _fastcall IsEmpty() const | 返回字符串是否为空,true表示空字符串 |
Length | int _fastcall Length() const | 返回字符串长度 |
LowerCase | AnsiString _fastcall LowerCase() const | 将字符串中的大写字母改写成小写 |
UpperCase | AnsiString _fastcall UpperCase() const | 将字符串中的小写字母改写成大写 |
Pos | int _fastcall Pos(cont AnsiString& substr)const; | 找出子字符串在原字符串中由第几个位置开始 |
SubString | AnsiString _fastcall SubString(int index,int count)const | 返回由index处向后取count个字符 |
ToDouble | double _fastcall ToDouble() const | 将字符转成双精度数值 |
ToInt | int _fastcall ToInt() const | 将字符转成整形 |
IntToStr | AnsiString _fastcall IntToStr(int Value) | 将整形转成字符串 |
Trim | AnstString _fastcall Trim() const | 返回一个新的字符串,它会将原字符串前后空白或控制字符清除后再返回 |
WideChar | wchar_t fastcall WideChar(wchart* dest,int destsize)const | 转换AnsiString到一个宽字符数组(COM中常用) |