ansistring使用大全

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);

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值