ansistring 使用大全:
顾名思义,就是利用ansistring来处理相关的各种问题。来看看吧,一定让你受益匪浅!
//ansistring 转 char
void __fastcall tform1::button1click(tobject *sender)
{
ansistring test = "哈哈";
char *chr = test.c_str();
}
//char转ansistring
#include
void __fastcall tform1::button1click(tobject *sender)
{
ansistring str = "sample";
char chr[max_path];
strcpy( chr , str.c_str() );
}
//bool转ansistring
void __fastcall tform1::button1click(tobject *sender)
{
ansistring test=booltostr(checkbox1->checked);
}
//ansistring转bool
void __fastcall tform1::button1click(tobject *sender)
{ ansistring test="-1"
checkbox1->checked= strtobool( test );
}
//int转ansistring
void __fastcall tform1::button1click(tobject *sender)
{
int i = 123;
ansistring str = inttostr( i );
}
//ansistring转double
void __fastcall tform1::button1click(tobject *sender)
{
ansistring test = "123";
long double d = strtofloat( test );
}
//double转ansistring
void __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转ansistring
void __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,相同!没有分大小写,哈哈
}
//在ansistring中寻找字符
void __fastcall tform1::button1click(tobject *sender)
{
ansistring test = "abcdef";
ansistring sample = "e";
int result = test.pos( sample );
//返回5,如果你写sample="haha",就返回0,找不到,哈哈
}
//在ansistring中找字符串,和上一个类似
void __fastcall tform1::button1click(tobject *sender)
{
ansistring test = "abcdef";
ansistring sample = "ef";
int result = test.pos( sample );
//返回5,即e字符的位置
}
//判断字符串长度,类似vb的len
void __fastcall tform1::button1click(tobject *sender)
{
ansistring test = "拿金币来";
int len = test.length();
//返回8
}
//取得字符串,类似vb的left
void __fastcall tform1::button1click(tobject *sender)
{
ansistring test = "小苹果然看了这篇文章";
ansistring slstr = test.setlength(6);
}//得到"小苹果"
//检测双字节字串
void __fastcall tform1::button1click(tobject *sender)
{
ansistring chkstr = "你好";
int chkpos = 1 ;
if ( bytetype( chkstr , chkpos ) == mbsinglebyte ){
edit1->text="0";
}
else{
edit1->text="1";
}//返回1,如果你写chkstr="fxxk",就返回0
}
//检测空字符串
void __fastcall tform1::button1click(tobject *sender)
{
ansistring test = "";
bool chk = test.isempty();
if (chk )
edit1->text="1";//返回1
}
//全部变小写vs全部变大写
void __fastcall tform1::button1click(tobject *sender)
{
ansistring test = "abcdef";
ansistring lstr = test.lowercase();
}
代码:
void __fastcall tform1::button1click(tobject *sender)
{
ansistring test = "abcdef";
ansistring ustr = test.uppercase();
}
//类似vb中trim 的去空格函数
void __fastcall tform1::button1click(tobject *sender)
{
ansistring test = " abcdef ";
ansistring tlstr = test.trimleft();
ansistring trstr = test.trimright();
ansistring tstr = test.trim();
}
//但是,这个处理不了全角的空格 代码:
ansistring __fastcall tform1::trimstr( ansistring tm , ansistring lr )
{
// lr … l:左除去 r:右除去 b:dou除去
int len;
// 左除去
if ( lr == "l" || lr == "b" ){
len = tm.length();
while ( tm.substring(1,1) == " " || tm.substring(1,2) == " "){
// 半角除去
if ( tm.substring(1,1) == " " ){
tm = tm.substring(2,len);
len = tm.length();
}
// 全角除去
else if ( tm.substring(1,2) == " " ){
tm = tm.substring(3,len);
len = tm.length();
}
}
}
// 右除去
if ( lr == "r" || lr == "b" ){
len = tm.length();
while ( tm.substring(len,1) == " " || tm.substring(len-1,2) == " " ){
// 半角除去
if ( tm.substring(len,1) == " " ){
len = tm.length();
tm = tm.substring(1,len-1);
len = tm.length();
}
// 全角除去
else if ( tm.substring(len-1,2) == " " ){
len = tm.length();
tm = tm.substring(1,len-2);
len = tm.length();
}
}
}
return tm;
}
void __fastcall tform1::button1click(tobject *sender)
{
ansistring test = " 拳脚 ";
ansistring ret = trimstr(test,"b")
}
//相同字符重复输入
void __fastcall tform1::button1click(tobject *sender)
{
ansistring soc = ansistring::stringofchar( '*' , 100 );
edit1->text=soc ;//显示100个*
}
//字符串替换
void __fastcall tform1::button1click(tobject *sender)
{
ansistring str = "borland c++ builder is free";
ansistring from = "c++ builder";
ansistring to = "delphi";
ansistring result;
result = stringreplace( str, from, to, treplaceflags() <<
rfreplaceall << rfignorecase );
//<<后是参数,得到borland delphi is free
}
//全角变半角
ansistring zen = "1234567890";
int len = zen.length();
char buf[max_path];
zeromemory( buf, sizeof( buf ) );
lcmapstring( getuserdefaultlcid(), lcmap_halfwidth, zen.c_str(), len, buf, sizeof( buf ) );
ansistring han = ansistring( buf );
edit1->text=han;
//半角变全角
void __fastcall tform1::button1click(tobject *sender)
{
ansistring han = "1234567890";
int len = han.length();
char buf[max_path];
zeromemory( buf, sizeof( buf ) );
lcmapstring( getuserdefaultlcid(), lcmap_fullwidth, han.c_str(), len, buf, sizeof( buf ) );
ansistring zen = ansistring( buf );
}
//转换为utf-8
AnsiString sAnsi = "123";
UTF8String sUtf8;
sUtf8 = AnsiToUtf8(sAnsi);