AnsiString字符串成员函数作用

在 Borland C++ Builder 6(以下简称 BCB)中,最常用的长字符串类型即是 AnsiString 型。VCL 组件中任何需要用到字符串变量的地方,都是使用 AnsiString 型字符串。BCB 整个工具最大的优势在于其丰富的 VCL 组件,使可视化开发便捷可行,因此足见 AnsiString 类型对于熟练掌握、高效运用 BCB 的重要性。

相比传统的 C/C++的 char 型数组实现字符串的方法,AnsiString 类型提供了丰富的对象方法,使访问、操作和使用字符串更加方便高效,即使相比标准库中的 std::string 仍然毫不逊色。可以说,AnsiString 是 BCB 及 Delphi 中一颗璀璨的明珠。AnsiString 仍然采用了 C/C++中字符串的结构,以’’(NULL)结尾,值得一提的是其在实际字符串前面增加了一些字节的head。AnsiString 索引值基于 1,而非 0。

AnsiString 提供的一系列操作符如下:

AnsiString 常用方法如下
1. AnsiCompare
声明:

说明:该方法按照字典顺序、区分大小写的方法比较 AnsiString 和 rhs,若 S1 > S2 返回大于 0,相等返回 0,S1 < S2 则返回小于 0。

2. AnsiCompareIC
声明:

声明及说明同上,唯一的区别在于不区分大小写。

3. AnsiLastChar
声明:

说明:该方法返回 AnsiString 中最后字符的指针,可通过它来访问最后一个字符。支持
多字节字符。

4. AnsiPos
声明:

说明:该方法返回 AnsiString 中子串 subString 的索引,索引基于 1。若无该子串,则返回 0。支持多字节字符串。

5. c_str
声明:

说明:该方法返回一个包含与 AnsiString 相同字符的零终止的字符数组的指针(在需要 C
风格字符串的地方常用),若未分配 AnsiString 则返回空字符串。该方法主要用于
读取 AnsiString 的值(const 成员函数),若要修改使用[]操作或 Insert/Delete 等方法。

6. data
声明:

说明:同上,区别在于值为空时返回空指针。

7. Delete
声明:

说明:该方法从 AnsiString 中删除从 index 位置开始的 count 个字符并返回该字符串。若 index 无效(大于 AnsiString 长度/小于 1)或 count≤0 则不删除字符,若 count 指定的字符多于从 index 开始的字符,则删除其余的字符。

8. FloatToStrF

该方法用来控制浮点值的字符串表示法,如几位小数、科学计数法等。

9. FormatFloat
声明:

说明:该方法用 format 给出的格式化字符串格式化 value 给出的值。

10. Insert
声明:

说明:该方法在 index 位置上插入 str 字符串并返回修改后的结果。如 index < 1 则映射为 1,如超过字符串长度,则映射为 Length();如 str 为空则不执行操作,如不能
分配足够内存,则抛出 EOutOfMemory 异常。

11. IntToHex
声明:

说明:该方法将数字转化为 16 进制表示的字符串,value 表示要转换的数字,digits 表
示 16 进制数的最小数。注意此方法为 static,不依赖于 AnsiString 对象实现,即
可以直接使用此方法如:ShowMessage(IntToHex(19, 1))返回 13。

12. IsEmpty
声明:

说明:若 AnsiString 为空则返回 true,否则返回 false。亦可用其与 EmptyStr 比较,或测其长度 Length() == 0;

13. Length
声明:

说明:返回 AnsiString 中字节数。

14. LowerCase
声明:

说明:返回转换成小写后的 AnsiString。

15. operator !=
声明:

说明:比较两字符串是否相等,不相等返回 true,否则返回 false。

16. operator []
声明:

说明:返回字符串中索引 index 上的字符,索引基于 1,可通过此修改该字符。若 index无效,则抛出 OutOfRange 异常。

17. operator +
声明:

说明:该方法返回连接 lhs 和 rhs 后的 AnsiStirng。

18. operator +=
声明:

说明:连接 AnsiString 与 rhs 并返回新字符串。

19. operator <
声明:

说明:若 AnsiString 小于 rhs,返回 true,否则返回 false,依照字典顺序。

20. operator <=
声明:

说明:同上

21. operator =
声明:

说明:赋值操作,将字符串 rhs 分配到 AnsiString 中。

22. operator ==
声明:

说明:比较两字符串是否相等,相等返回 true,否则返回 false。

23. operator >
声明:

说明:同 operator <说明。

24. operator >=
声明:

说明:同上说明。

25. Pos

声明及说明同 AnsiPos,不支持多字节字符。

26. UpperCase
声明:

说明:返回转换成大写后的 AnsiString。

在使用 AnsiString 类的各种方法(成员函数)时,应注意函数是否为 conststatic 等,这些关键字决定了是否可通过该函数修改 AnsiString 值、是否依赖于具体 AnsiString 对象调用等等,通过对 AnsiString 成员函数的调用,可加深对类的成员函数的理解。

想要了解更多AnsiString字符串成员函数定义可以看这篇:AnsiString字符串头文件