-- AnsiString 使用大全 (http://www.tiantiansoft.com/bbs/dispbbs.asp?boardid=93&id=116970)
-- 作者:小鱼250
-- 发布时间:2006-2-16 17:16:00
AnsiString 使用大全
Ansistring 转 char
Code
char转Ansistring
Code
Bool转AnsiString
Code
Ansistring转bool
Code
int转ansistring
Code
Code
double转AnsiString
Code
double转AnsiString并四舍五入
Code
double转AnsiString使用类似vb的format函数
Code
AnsiString转Tclor型
Code
Tcolor转AnsiString
Code
消除AnsiString 中的一部分字符串 代码:
Code
在AnsiString 中插入字符串
Code
取得ansi某一位字符
Code
取得AnsiString里最后一个字符
Code
取出AnsiString字符,这个类似vb的mid函数!
Code
AnsiString的字母比较
Code
Code
在AnsiString中寻找字符
Code
在AnsiString中找字符串,和上一个类似
Code
判断字符串长度,类似vb的len
Code
取得字符串,类似vb的left
Code
检测双字节字串
Code
检测空字符串
Code
全部变小写vs全部变大写
Code
Code
类似vb中Trim 的去空格函数
Code
但是,这个处理不了全角的空格
Code
相同字符重复输入
Code
Code
全角变半角
Code
半角变全角
Code
1. char* c_str() 返回一个字符串指针,他指向的内容和AnsiString中包含的字符串的内容一致(BCB帮助中就是是这样解释这个方法的,关于它更详细的讨论见后文) Example: AnsiString str = "Hello World!"; MessageBox(NULL,str.c_str(),"",MB_OK); //显示一个消息框
2.AnsiCompare(AnsiString& rhs) operator == (AnsiString& rhs) 都用来比较两个AnsiString的内容是否相同,两者的区别在于当内容相等的时候前者返回0,而后者返回true
3.int Length() 很简单,返回字符串长度
4.char & operator [](const int idx) 返回字符串中第idx个字符注意:这个地方不知道BCB怎么想的,可能是为了照顾Delphi程序员的习惯吧却给C程序员造成了一点小小的麻烦:和C中数组的用法不兼容,也就是说当 idx为0的时候,BCB会抛出一个异常,而不是返回第一个字符!要得到第一个字符,idx应该为1 Example: AnsiString str = "Hello World!"; char byte = str[2]; //byte等于 e 而 不等于 l ps.下面的介绍,只要是关于第X个字符的,都和这里一样,不再重复
5.AnsiString SubString(int index, int count) 返回从第index个字符开始,长度为count子串 Example: AnsiString str = "Hello World!"; MessageBox(NULL,str.SubString(7,5).c_str(),"",MB_OK); //显示内容为 World
6.int Pos(AnsiString& subStr) 查找内容为subStr的字串,如果有,返回字串的第一个字符位置 如果没有,返回0
7.int ToInt() int ToIntDef(int defaultValue) 返回当前字符串转化为整数的结果,不同点在于,当不能转化时,前者抛出一个异常,而后者返回defaultValue,嘿嘿,偶喜欢后者
8.AnsiString LowerCase() AnsiString UpperCase() 返回当前字符串转化为小写/大写的结果 注意,它们只是返回一个新的AnsiString,原来字符串的内容没有变化
9.AnsiString& sprintf(char *, ...) 利用sprintf强大功能格式化当前字符串,详细用法请参考sprintf或者printf 其它一些操作符:+ += >= > < <= != 这些不用解释了吧……
深入探讨:
1.关于c_str()的返回值问题. 能否用这个返回值访问/修改字符串中的内容? Example: AnsiString a = "I want to modify this using pointer"; char *p = a.c_str(); p[0] = i ; ........ //指针操作 ShowMessage(a); 虽然BCB的帮助表明 c_str()这个函数的返回值(char*)只在它所在表达式内有效,但是以上代码有时候却可以完成预期的目的个人极力反对用这种方法来改变字符串的内容,因为AnsiString自带的方法已经能够十分有效的完成指针操作 比如上面的例子中 p[0] 可以用 a[1] 来代替 合并字符串可以用 + 或者 += 来替代 还有查找,插入,删除等,都可以在帮助中找到AnsiString类中对应的方法来实现
2.Unicode的支持 由于AnsiString非模板类 除了WideChar方法外,AnsiString好像不支持Unicode 但是不知道为什么里面会有ByteType这个方法
3.很有意思的方法 Unique() LastDelimiter() 不常用,但是我觉得是十分有意思的函数 怎么用,可以参考帮助
-- 作者:intel286
-- 发布时间:2006-3-4 14:10:00
--
全角的trimz在中国很有用
符合您条件的共有2条 ,第:1 页/共 1 页
-- 作者:小鱼250
-- 发布时间:2006-2-16 17:16:00
AnsiString 使用大全
Ansistring 转 char
char转Ansistring
Bool转AnsiString
Ansistring转bool
int转ansistring
AnsiString转double
double转AnsiString
double转AnsiString并四舍五入
double转AnsiString使用类似vb的format函数
AnsiString转Tclor型
Tcolor转AnsiString
消除AnsiString 中的一部分字符串 代码:
在AnsiString 中插入字符串
取得ansi某一位字符
取得AnsiString里最后一个字符
取出AnsiString字符,这个类似vb的mid函数!
AnsiString的字母比较
在AnsiString中寻找字符
在AnsiString中找字符串,和上一个类似
判断字符串长度,类似vb的len
取得字符串,类似vb的left
检测双字节字串
检测空字符串
全部变小写vs全部变大写
类似vb中Trim 的去空格函数
相同字符重复输入
字符串替换
全角变半角
半角变全角
AnsiString类是BCB中最常见类之一,了解它对以后深入学习BCB大有帮助原来关于这个类的提出的问题有很多,现总结如下。加上我个人的经验,凑出了一篇关于这个类的最常用方法属性的介绍,希望能对各位有所帮助常用方法:
1. char* c_str() 返回一个字符串指针,他指向的内容和AnsiString中包含的字符串的内容一致(BCB帮助中就是是这样解释这个方法的,关于它更详细的讨论见后文) Example: AnsiString str = "Hello World!"; MessageBox(NULL,str.c_str(),"",MB_OK); //显示一个消息框
2.AnsiCompare(AnsiString& rhs) operator == (AnsiString& rhs) 都用来比较两个AnsiString的内容是否相同,两者的区别在于当内容相等的时候前者返回0,而后者返回true
3.int Length() 很简单,返回字符串长度
4.char & operator [](const int idx) 返回字符串中第idx个字符注意:这个地方不知道BCB怎么想的,可能是为了照顾Delphi程序员的习惯吧却给C程序员造成了一点小小的麻烦:和C中数组的用法不兼容,也就是说当 idx为0的时候,BCB会抛出一个异常,而不是返回第一个字符!要得到第一个字符,idx应该为1 Example: AnsiString str = "Hello World!"; char byte = str[2]; //byte等于 e 而 不等于 l ps.下面的介绍,只要是关于第X个字符的,都和这里一样,不再重复
5.AnsiString SubString(int index, int count) 返回从第index个字符开始,长度为count子串 Example: AnsiString str = "Hello World!"; MessageBox(NULL,str.SubString(7,5).c_str(),"",MB_OK); //显示内容为 World
6.int Pos(AnsiString& subStr) 查找内容为subStr的字串,如果有,返回字串的第一个字符位置 如果没有,返回0
7.int ToInt() int ToIntDef(int defaultValue) 返回当前字符串转化为整数的结果,不同点在于,当不能转化时,前者抛出一个异常,而后者返回defaultValue,嘿嘿,偶喜欢后者
8.AnsiString LowerCase() AnsiString UpperCase() 返回当前字符串转化为小写/大写的结果 注意,它们只是返回一个新的AnsiString,原来字符串的内容没有变化
9.AnsiString& sprintf(char *, ...) 利用sprintf强大功能格式化当前字符串,详细用法请参考sprintf或者printf 其它一些操作符:+ += >= > < <= != 这些不用解释了吧……
深入探讨:
1.关于c_str()的返回值问题. 能否用这个返回值访问/修改字符串中的内容? Example: AnsiString a = "I want to modify this using pointer"; char *p = a.c_str(); p[0] = i ; ........ //指针操作 ShowMessage(a); 虽然BCB的帮助表明 c_str()这个函数的返回值(char*)只在它所在表达式内有效,但是以上代码有时候却可以完成预期的目的个人极力反对用这种方法来改变字符串的内容,因为AnsiString自带的方法已经能够十分有效的完成指针操作 比如上面的例子中 p[0] 可以用 a[1] 来代替 合并字符串可以用 + 或者 += 来替代 还有查找,插入,删除等,都可以在帮助中找到AnsiString类中对应的方法来实现
2.Unicode的支持 由于AnsiString非模板类 除了WideChar方法外,AnsiString好像不支持Unicode 但是不知道为什么里面会有ByteType这个方法
3.很有意思的方法 Unique() LastDelimiter() 不常用,但是我觉得是十分有意思的函数 怎么用,可以参考帮助
-- 作者:intel286
-- 发布时间:2006-3-4 14:10:00
--
全角的trimz在中国很有用
符合您条件的共有2条 ,第:1 页/共 1 页
浙公网安备 33010602011771号