AnsiString

Posted xiangtingshen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AnsiString相关的知识,希望对你有一定的参考价值。

原文链接:https://blog.csdn.net/Li_Ning_/article/details/82981092

 

/*
* 编号:Number 1
* 函数:substring
* 说明:截取AnsiString中字符串,即获取子串
*/ 
void __fastcall TMainForm::TestAnsiString1() 
{ 
AnsiString str = "LINING";

//从第二位开始取,取够三位,得:"INI"
    AnsiString retStr = str.SubString(2 , 3); 
}

/*
* 编号:Number 2
* 函数:Delete
* 说明:删除 AnsiString 中的一部分字符串
*/ 
void __fastcall TMainForm::TestAnsiString2() 
{
AnsiString str = "LINING";

//从第二位开始,删够三位:得:"LNG"
AnsiString retStr = str.Delete(2 , 3);  
} 

/*
* 编号:Number 3
* 函数:Insert
* 说明:在AnsiString 中插入字符串
*/ 
void __fastcall TMainForm::TestAnsiString3() 
{
AnsiString str = "LINING";
AnsiString src = "123456";

//从三的位置开始插入 src 的:"LI123456NING"
AnsiString retStr = str.Insert(src, 3);  
}

/*
* 编号:Number 4
* 函数:[]
* 说明:取得 AnsiString 某一位字符
*/ 
void __fastcall TMainForm::TestAnsiString4() 
{
AnsiString str = "LINING";

//获取第三个字符,得:"N"
AnsiString retStr = str[3];
}

/*
* 编号:Number 5
* 函数:Pos
* 说明:在AnsiString中寻找字符
*/ 
void __fastcall TMainForm::TestAnsiString5() 
{
AnsiString str = "LINING";

//找到返回第一次找到的位置,找不到返回0
int result1 = str.Pos("N");
int result2 = str.Pos("NING");
}

/*
* 编号:Number 6
* 函数:AnsiPos
* 说明:在 AnsiString 中找字符串:找字符 多用 Pos
*/ 
void __fastcall TMainForm::TestAnsiString6() 
{
AnsiString str = "LINING";

//找到返回第一次找到的位置,找不到返回0
int result2 = str.AnsiPos("NING");
}

/*
* 编号:Number 7
* 函数:AnsiLastChar
* 说明:取 AnsiString 里最后一个字符
*/ 
void __fastcall TMainForm::TestAnsiString7() 
{
AnsiString str = "LINING";

//"G"
char *lstr = str.AnsiLastChar();
}

/*
* 编号:Number 8
* 函数:AnsiString::StringOfChar
* 说明:相同字符重复输入
*/ 
void __fastcall TMainForm::TestAnsiString8() 
{
//"GGGGGGGGGG"
AnsiString str = AnsiString::StringOfChar(G , 10 );
}

/*
* 编号:Number 9
* 函数:AnsiCompare
* 说明:AnsiString 的字母比较:区分大小写
*/ 
void __fastcall TMainForm::TestAnsiString9() 
{
AnsiString S1 = "LINING";
AnsiString S2 = "LINING";

//S1 > S2    > 0
//S1 < S2    < 0
//S1 = S2    = 0
int result = S1.AnsiCompare("LIING");
}

/*
* 编号:Number 10
* 函数:AnsiCompareIC
* 说明:AnsiString 的字母比较:不区分大小写
*/ 
void __fastcall TMainForm::TestAnsiString10() 
{
AnsiString S1 = "LINING";
AnsiString S2 = "LINING";

//S1 > S2    > 0
//S1 < S2    < 0
//S1 = S2    = 0
int result = S1.AnsiCompareIC(S2);
}

/*
* 编号:Number 11
* 函数:SetLength
* 说明:取得字符串
*/ 
void __fastcall TMainForm::TestAnsiString11() 
{
AnsiString str = "LINING";

//得: "LIN" 只要前三个
AnsiString retStr = str.SetLength(3);
}

/*
* 编号:Number 12
* 函数:Length
* 说明:获取字符串长度
*/ 
void __fastcall TMainForm::TestAnsiString12() 
{
AnsiString str = "LINING";

//得:6
int len = str.Length();
}

/*
* 编号:Number 13
* 函数:TrimLeft、TrimRight、Trim
* 说明:去除 AnsiString 字符串中的空格
*/ 
void __fastcall TMainForm::TestAnsiString13() 
{
AnsiString str = " LIN ING ";

AnsiString str1 = str.TrimLeft(); //去左空格
AnsiString str2 = str.TrimRight(); //去右空格
AnsiString str3 = str.Trim(); //去两边空格
}

/*
* 编号:Number 14
* 函数:LowerCase、UpperCase
* 说明:大小写转换
*/ 
void __fastcall TMainForm::TestAnsiString14() 
{
//大写转小写
AnsiString test = "LINING";
AnsiString str1 = test.LowerCase();

//小写转大写
AnsiString test1 = "lining";
AnsiString str2 = test1.UpperCase();
}

/*
* 编号:Number 15
* 函数:StringReplace (参数:TReplaceFlags、rfReplaceAll、rfIgnoreCase)
* 说明:字符串替换
*/ 
void __fastcall TMainForm::TestAnsiString15() 
{
AnsiString str = "lining chi tu";
AnsiString from = "lining";
AnsiString to = "you";

//you chi tu
AnsiString result = StringReplace( str, from, to, TReplaceFlags() << rfReplaceAll << rfIgnoreCase );
}

/*
* 编号:Number 16
* 函数:AnsiToUtf8
* 说明:转换为 UTF-8
*/ 
void __fastcall TMainForm::TestAnsiString16() 
{
AnsiString strAnsi = "LINING";

//转换为utf-8   
UTF8String sUtf8 = AnsiToUtf8(strAnsi);
}

/*
* 编号:Number 17
* 函数:IsEmpty
* 说明:判空串
*/ 
void __fastcall TMainForm::TestAnsiString17() 
{
AnsiString str = "LINING";

//是空返回true,非空返回 false
    bool chk = str.IsEmpty(); 
}

/*
* 编号:Number 18
* 函数:ByteType、mbSingleByte
* 说明:判断双字节
*/ 
void __fastcall TMainForm::TestAnsiString18() 
{
AnsiString str = "李宁lining";

//从第 5 位置开始
if (ByteType(str ,5) == mbSingleByte )
{
//0
//单字节字符串
}
else
{
//1
//双字节字符串
}
}

/*
* 编号:Number 19
* 函数:c_str
* 说明:AnsiString 转 char*
*/ 
void __fastcall TMainForm::TestAnsiString19() 
{
AnsiString str = "LINING";

char *chr = str.c_str();

// char* 到 AnsiString
AnsiString str2 = AnsiString(chr);
}

/*
* 编号:Number 20
* 函数:bool 转 AnsiString
* 说明:BoolToStr
*/ 
void __fastcall TMainForm::TestAnsiString20() 
{
AnsiString str = BoolToStr(true);
}

/*
* 编号:Number 21
* 函数:StrToBool
* 说明:AnsiString to bool
*/ 
void __fastcall TMainForm::TestAnsiString21() 
{
    bool flag = StrToBool("10"); 
}

/*
* 编号:Number 22
* 函数:IntToStr
* 说明:int to AnsiString
*/ 
void __fastcall TMainForm::TestAnsiString22() 
{
AnsiString str = IntToStr(200); 
}

/*
* 编号:Number 23
* 函数:StrToFloat
* 说明:AnsiString转double
*/ 
void __fastcall TMainForm::TestAnsiString23() 
{
AnsiString str = "2658";
long double d = StrToFloat(str);
}

/*
* 编号:Number 24
* 函数:FloatToStr
* 说明:double转AnsiString 
*/ 
void __fastcall TMainForm::TestAnsiString24() 
{
AnsiString str = FloatToStr(456.123);
}

/*
* 编号:Number 25
* 函数:FloatToStrF
* 说明:double转AnsiString并四舍五入
*/ 
void __fastcall TMainForm::TestAnsiString25() 
{
long double d = 123.456121212;

//说明floattostrf里5代表从第几个数字的后一位开始四舍五入,4代表取4位小数
AnsiString str = FloatToStrF( d , ffNumber ,5 , 4 ); 
}

/*
* 编号:Number 26
* 函数:FormatFloat
* 说明:格式化后转AnsiString
*/ 
void __fastcall TMainForm::TestAnsiString26() 
{
double d = 123.456; 

AnsiString str = FormatFloat( "000000.00" , d ); //还有其他参数 
}

/*
* 编号:Number 27
* 函数:StringToColor
* 说明:字符串转颜色
*/ 
void __fastcall TMainForm::TestAnsiString27() 
{
AnsiString test = "0x00ff8080";
 
tcolor col = StringToColor( test );  
}

/*
* 编号:Number 28
* 函数:ColorToString
* 说明:颜色转字符串
*/ 
void __fastcall TMainForm::TestAnsiString28() 
{
tcolor col = 0x00ff8080; 

AnsiString str = ColorToString(col);

}

 

以上是关于AnsiString的主要内容,如果未能解决你的问题,请参考以下文章

AnsiString 不起作用(未定义 AnsiString 标识符)

AnsiString和UnicodeString的区别

AnsiString

Pchar string Pansichar ansistring

Borland c++ build 6编译出错Could not find a match for OpenArray<TVarRec>::OpenArray

通过 PAnsiChar (char *) 传递 AnsiString 是不是明确需要空终止符?