Ansistring的类型转换与使用
来源:互联网 发布:苹果笔记本数据恢复 编辑:程序博客网 时间:2024/06/06 20:24
//Ansistring 转 charvoid __fastcall TForm1::Button1Click(TObject *Sender){ AnsiString Test = "哈哈"; char *chr = Test.c_str();}//char转Ansistring#include <windef.h>void __fastcall TForm1::Button1Click(TObject *Sender){ AnsiString str = "Sample"; char chr[MAX_PATH]; strcpy( chr , str.c_str() );}//Bool转AnsiStringvoid __fastcall TForm1::Button1Click(TObject *Sender){ AnsiString Test=BoolToStr(CheckBox1->Checked);}//Ansistring转boolvoid __fastcall TForm1::Button1Click(TObject *Sender){ AnsiString Test="-1" CheckBox1->Checked= StrToBool( Test );}//int转ansistringvoid __fastcall TForm1::Button1Click(TObject *Sender){ int i = 123; AnsiString str = IntToStr( i );}//AnsiString转doublevoid __fastcall TForm1::Button1Click(TObject *Sender){ AnsiString Test = "123"; long double d = StrToFloat( Test );}//double转AnsiStringvoid __fastcall TForm1::Button1Click(TObject *Sender){ double d = 123.456; AnsiString str = FloatToStr( d );}//double转AnsiString并四舍五入void __fastcall TForm1::Button1Click(TObject *Sender){ long double d = 123.456121212; AnsiString str = FloatToStrF( d , ffFixed ,5 , 4 );//说明FloatTostrF里5代表从第几个数字的后一位开始四舍五入,4代表取4位小数。//执行后得到str是123.4600。:roll:}//double转AnsiString使用类似vb的format函数void __fastcall TForm1::Button1Click(TObject *Sender){ double d = 123.456; AnsiString str = FormatFloat( "000000.00" , d );} //得到 000123.45,当然你可以使用"# . , ; E+ E- xx"等符号,你自己试试 :wink://AnsiString转Tclor型void __fastcall TForm1::Button1Click(TObject *Sender){ AnsiString Test = "0x00FF8080"; TColor Col = StringToColor( Test );}//Tcolor转AnsiStringvoid __fastcall TForm1::Button1Click(TObject *Sender){ TColor Col = 0x00FF8080; AnsiString str = ColorToString( Col );}//消除AnsiString 中的一部分字符串 代码:void __fastcall TForm1::Button1Click(TObject *Sender){ AnsiString Test = "ABCDEF"; int First = 3; // 消除制定开头 int Length = 2;// 消除制定长度 AnsiString Dstr = Test.Delete( First , Length );}//得到ABEF//在AnsiString 中插入字符串void __fastcall TForm1::Button1Click(TObject *Sender){ AnsiString Test = "ABCDEF"; AnsiString Ins = "12345"; // 插入串 int Pos = 3; // 在哪插 AnsiString Istr = Test.Insert( Ins , Pos );//得到AB12345CDEF}//取得ansi某一位字符void __fastcall TForm1::Button1Click(TObject *Sender){ AnsiString Test = "ABCDEF"; AnsiString Npos = Test[3];//得到C}//取得AnsiString里最后一个字符void __fastcall TForm1::Button1Click(TObject *Sender){ AnsiString Test = "ABCDEF"; char *Lstr = Test.AnsiLastChar();//得到F}//取出AnsiString字符,这个类似vb的mid函数!void __fastcall TForm1::Button1Click(TObject *Sender){ AnsiString Test = "ABCDEF"; int First = 3; // 3开始取 int Length = 2;// 取2位 AnsiString Getstr = Test.SubString( First , Length );//得到CD} //AnsiString的字母比较void __fastcall TForm1::Button1Click(TObject *Sender){ AnsiString Test = "ABCDEF"; AnsiString Sample = "abcdef"; int Result = Test.AnsiCompare( Sample );//返回1,不同!分大小写。}void __fastcall TForm1::Button1Click(TObject *Sender){ AnsiString Test = "ABCDEF"; AnsiString Sample = "abcdef"; int Result = Test.AnsiCompareIC( Sample );//返回0,相同!没有分大小写,哈哈}
unsigned char *c1=(str).c_str();
说了多少遍了,不要这样用。
先不说AnsiString和char*的问题,我觉得初学者首先要记住的就是对内存的管理,大多数情况下谁分配(new)的就由谁来释放(delete)。
AnsiString是一个类(class),它在内部实现了对内存的管理,使用者不必去理会。
char*是一个指针(pointer),指向一块内存,所以使用者必须负责它的分配和释放。
AnsiString.c_str() 返回的是类实体所管理的内存,第1这个地址可能会改变,第2对块内存的操作可能会破坏类的结构。
不使用中间变量只是一个习惯问题,并不是一定不能这么做,至少在语法是没有问题的。
就像把变量都命名为a,b,c...一样,虽然可以,但不建议这样做,也几乎没有程序这样做,除了一些不友好的小例子。
- Ansistring的类型转换与使用
- BCB中char类型与AnsiString类型的相互转换
- Delphi XE中String、ANSIString、TBytes之间的转换 一、string转为ansistring 1、直接赋值 (有警告) 2、ansistring()类型强制转换。(无警
- [代码]Delphi实现AnsiString与WideString的转换函数
- Delphi实现AnsiString与WideString的转换函数
- 关于AnsiString的使用大全
- C++Bulder之字符数组转换成AnsiString类型
- AnsiString和String的区别、使用
- AnsiString和String的区别、使用
- AnsiString和String的区别、使用
- AnsiString和String的区别、使用
- AnsiString?PChar?赋值?转换?
- delphi xe2 string、AnsiString及Tbytes之间的转换
- delphi2010 string、ansistring及Tbytes之间的转换
- Delphi XE中String、ANSIString、TBytes之间的转换
- Delphi XE中String、ANSIString、TBytes之间的转换
- Delphi XE中String、ANSIString、TBytes之间的转换
- AnsiString 使用大全
- [Linux driver]揭秘platform_driver, platform_device
- AIX lslpp命令
- 线程间协作wait()与notify()
- Ubuntu配置远程访问的xrdp协议和teamviewer软件
- jquery获取页面跳转的传值
- Ansistring的类型转换与使用
- CentOS 下安装7-Zip 以及常用的解压命令
- function lookandsay!
- 何惧MD5简单搞定加密及密码验证工具类
- struts2手动效验方法
- ExecuteNonQuery() 返回值 问题
- 自己动手写最简单的Android驱动---LED驱动的编写
- portlet的开发介绍
- 来自《星际迷航》的开源玻璃键鼠套装