Ansistring 转 char.docx

上传人:b****7 文档编号:9997423 上传时间:2023-02-07 格式:DOCX 页数:11 大小:17.58KB
下载 相关 举报
Ansistring 转 char.docx_第1页
第1页 / 共11页
Ansistring 转 char.docx_第2页
第2页 / 共11页
Ansistring 转 char.docx_第3页
第3页 / 共11页
Ansistring 转 char.docx_第4页
第4页 / 共11页
Ansistring 转 char.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

Ansistring 转 char.docx

《Ansistring 转 char.docx》由会员分享,可在线阅读,更多相关《Ansistring 转 char.docx(11页珍藏版)》请在冰豆网上搜索。

Ansistring 转 char.docx

Ansistring转char

//Ansistring转char

void__fastcallTForm1:

:

Button1Click(TObject*Sender)

{

   AnsiStringTest="哈哈";

   char*chr=Test.c_str();

}

   

//char转Ansistring

#include

void__fastcallTForm1:

:

Button1Click(TObject*Sender)

{

   AnsiStringstr="Sample";

   charchr[MAX_PATH];

   strcpy(chr,str.c_str());

}

 

//Bool转AnsiString

void__fastcallTForm1:

:

Button1Click(TObject*Sender)

{

AnsiStringTest=BoolToStr(CheckBox1->Checked);

}

 

//Ansistring转bool

void__fastcallTForm1:

:

Button1Click(TObject*Sender)

{AnsiStringTest="-1"

   CheckBox1->Checked=StrToBool(Test);

}

 

//int转ansistring

void__fastcallTForm1:

:

Button1Click(TObject*Sender)

{

   inti=123;

   AnsiStringstr=IntToStr(i);

}

 

//AnsiString转double

void__fastcallTForm1:

:

Button1Click(TObject*Sender)

{

   AnsiStringTest="123";

   longdoubled=StrToFloat(Test);

}

 

//double转AnsiString

void__fastcallTForm1:

:

Button1Click(TObject*Sender)

{

   doubled=123.456;

   AnsiStringstr=FloatToStr(d);

}

 

//double转AnsiString并四舍五入

void__fastcallTForm1:

:

Button1Click(TObject*Sender)

{

   longdoubled=123.456121212;

   AnsiStringstr=FloatToStrF(d,ffFixed,5,4);

//说明FloatTostrF里5代表从第几个数字的后一位开始四舍五入,4代表取4位小数。

//执行后得到str是123.4600。

:

roll:

   

}

 

//double转AnsiString使用类似vb的format函数

void__fastcallTForm1:

:

Button1Click(TObject*Sender)

{

   doubled=123.456;

   AnsiStringstr=FormatFloat("000000.00",d);

}

//得到000123.45,当然你可以使用"#.,;E+E-xx"等符号,你自己试试:

wink:

 

//AnsiString转Tclor型

void__fastcallTForm1:

:

Button1Click(TObject*Sender)

{

   AnsiStringTest="0x00FF8080";

   TColorCol=StringToColor(Test);

}

//Tcolor转AnsiString

void__fastcallTForm1:

:

Button1Click(TObject*Sender)

{

   TColorCol=0x00FF8080;

   AnsiStringstr=ColorToString(Col);

}

//消除AnsiString中的一部分字符串代码:

void__fastcallTForm1:

:

Button1Click(TObject*Sender)

{

   AnsiStringTest="ABCDEF";

   intFirst=3;    //消除制定开头

   intLength=2;   //消除制定长度

   AnsiStringDstr=Test.Delete(First,Length);

}//得到ABEF

 

//在AnsiString中插入字符串

void__fastcallTForm1:

:

Button1Click(TObject*Sender)

{

   AnsiStringTest="ABCDEF";

   AnsiStringIns="12345";    //插入串

   intPos=3;                 //在哪插

   AnsiStringIstr=Test.Insert(Ins,Pos);

//得到AB12345CDEF

}

//取得ansi某一位字符

void__fastcallTForm1:

:

Button1Click(TObject*Sender)

{

   AnsiStringTest="ABCDEF";

   AnsiStringNpos=Test[3];//得到C

}

//取得AnsiString里最后一个字符

void__fastcallTForm1:

:

Button1Click(TObject*Sender)

{

   AnsiStringTest="ABCDEF";

   char*Lstr=Test.AnsiLastChar();//得到F

}

//取出AnsiString字符,这个类似vb的mid函数!

void__fastcallTForm1:

:

Button1Click(TObject*Sender)

{

   AnsiStringTest="ABCDEF";

   intFirst=3;    //3开始取

   intLength=2;   //取2位

   AnsiStringGetstr=Test.SubString(First,Length);

//得到CD

}

//AnsiString的字母比较

void__fastcallTForm1:

:

Button1Click(TObject*Sender)

{

   AnsiStringTest="ABCDEF";

   AnsiStringSample="abcdef";

   intResult=Test.AnsiCompare(Sample);

//返回1,不同!

分大小写。

}

void__fastcallTForm1:

:

Button1Click(TObject*Sender)

{

   AnsiStringTest="ABCDEF";

   AnsiStringSample="abcdef";

   intResult=Test.AnsiCompareIC(Sample);

//返回0,相同!

没有分大小写,哈哈

}

//在AnsiString中寻找字符

void__fastcallTForm1:

:

Button1Click(TObject*Sender)

{

   AnsiStringTest="ABCDEF";

   AnsiStringSample="E";

   intResult=Test.Pos(Sample);

//返回5,如果你写Sample="haha",就返回0,找不到,哈哈

}

//在AnsiString中找字符串,和上一个类似

void__fastcallTForm1:

:

Button1Click(TObject*Sender)

{

   AnsiStringTest="ABCDEF";

   AnsiStringSample="EF";

   intResult=Test.Pos(Sample);

//返回5,即E字符的位置

}

//判断字符串长度,类似vb的len

void__fastcallTForm1:

:

Button1Click(TObject*Sender)

{

   AnsiStringTest="拿金币来";

   intLen=Test.Length();

//返回8

}

//取得字符串,类似vb的left

void__fastcallTForm1:

:

Button1Click(TObject*Sender)

{

   AnsiStringTest="小苹果然看了这篇文章";

   AnsiStringSLstr=Test.SetLength(6);

}//得到"小苹果"

 

//检测双字节字串

void__fastcallTForm1:

:

Button1Click(TObject*Sender)

{

AnsiStringChkStr="你好";

intChkPos= 1 ;

if(ByteType(ChkStr,ChkPos)==mbSingleByte){

   Edit1->Text="0";

   }

   else{

   Edit1->Text="1";

   }//返回1,如果你写ChkStr="fxxk",就返回0

}

//检测空字符串

void__fastcallTForm1:

:

Button1Click(TObject*Sender)

{

   AnsiStringTest="";

   boolchk=Test.IsEmpty();

   if(chk)

   Edit1->Text="1";//返回1

}

//全部变小写vs全部变大写

void__fastcallTForm1:

:

Button1Click(TObject*Sender)

{

   AnsiStringTest="ABCdef";

   AnsiStringLstr=Test.LowerCase();

}

代码:

void__fastcallTForm1:

:

Button1Click(TObject*Sender)

{

   AnsiStringTest="ABCdef";

   AnsiStringUstr=Test.UpperCase();

}

//类似vb中Trim的去空格函数

void__fastcallTForm1:

:

Button1Click(TObject*Sender)

{

   AnsiStringTest="    ABCDEF     ";

   AnsiStringTLstr=Test.TrimLeft();

  AnsiStringTRstr=Test.TrimRight();

 AnsiStringTstr=Test.Trim();

}

 

//但是,这个处理不了全角的空格代码:

AnsiString__fastcallTForm1:

:

TrimStr(AnsiStringTm,AnsiStringLR)

{

   //LR…L:

左除去  R:

右除去  B:

dou除去

   intlen;

   //左除去

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

           }

           //全角除去

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

           }

           //全角除去

           elseif(Tm.SubString(len-1,2)==" "){

               len=Tm.Length();

               Tm=Tm.SubString(1,len-2);

               len=Tm.Length();

           }

       }

   }

   returnTm;

}

void__fastcallTForm1:

:

Button1Click(TObject*Sender)

{

   AnsiStringTest="  拳脚  ";

   AnsiStringRet=TrimStr(Test,"B")

}

 

//相同字符重复输入

void__fastcallTForm1:

:

Button1Click(TObject*Sender)

{

   AnsiStringSoc=AnsiString:

:

StringOfChar('*',100);

  Edit1->Text=Soc;//显示100个*

}

//字符串替换

void__fastcallTForm1:

:

Button1Click(TObject*Sender)

{

   AnsiStringStr="BorlandC++Builderisfree"; 

   AnsiStringFrom="C++Builder";                     

   AnsiStringTo="Delphi";                             

   AnsiStringResult;                                     

   Result=StringReplace(Str,From,To,TReplaceFlags()<<

rfReplaceAll<

//<<后是参数,得到BorlandDelphiisfree

}

//全角变半角

   AnsiStringZen="1234567890";

   intLen=Zen.Length();

   charbuf[MAX_PATH];

   ZeroMemory(buf,sizeof(buf));

   LCMapString(GetUserDefaultLCID(),LCMAP_HALFWIDTH,Zen.c_str(),Len,buf,sizeof(buf));

   AnsiStringHan=AnsiString(buf);

   Edit1->Text=Han;

 

//半角变全角

void__fastcallTForm1:

:

Button1Click(TObject*Sender)

{

   AnsiStringHan="1234567890";

   intLen=Han.Length();

   charbuf[MAX_PATH];

   ZeroMemory(buf,sizeof(buf));

   LCMapString(GetUserDefaultLCID(),LCMAP_FULLWIDTH,Han.c_str(),Len,buf,sizeof(buf));

   AnsiStringZen=AnsiString(buf);

}

atoi(将字符串转换成整型数)

相关函数

atof,atol,atrtod,strtol,strtoul

表头文件

#include

定义函数

intatoi(constchar*nptr);

函数说明

atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('')才结束转换,并将结果返回。

返回值

返回转换后的整型数。

附加说明

atoi()与使用strtol(nptr,(char**)NULL,10);结果相同。

范例

/*将字符串a与字符串b转换成数字后相加*/

#include

mian()

{

chara[]=”-100”;

charb[]=”456”;

intc;

c=atoi(a)+atoi(b);

printf(c=%d”,c);

}

执行

c=356

假设定义一个chars='3';想得到它的值3,放入intt中,问要用什么方法?

不知道楼主是不是这么想的,定义一个字符型变量s,让它的A码为3,但在现实的时候现在它的十进制A码?

如果是这样的话

#include

#include

usingnamespacestd;

intmian()

{chars='3',intt;

t=s;

cout<

"<

return0;

}

char'0'的ASICC为48根据此原理进行转换即可

intt;

t=(int)s-48;

有两种方式:

1、charc='3';

charstr[2];

str[0]=c;

str[1]=0;//orstr[1]='\0';

inti=atol(str);//ok

2、charc='3';

intt=c-'0';//ok

#include

#include

#include

std:

:

stringstr="123";

std:

:

stringstreamss;

inti=0;

ss<

ss>>i;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1