通常,AnsiString類的的存取函數在大多數情況下已經夠用.不過有時嫌繁瑣.比方說,
求已知某AnsiString,解析其每個字符,其中字母為命令,數字為參數.
按照AnsiString的函數寫,如下:
AnsiString IPData;
IPData = Uppercase(IPData);
for(int i = 1;i <= IPData.Length();i++)
{
if( IPData.SubString(i,1) >= "A" && IPData.SubString(i,1) < "Z"
|| IPData.SubString(i,1) == "Z" )
{
// 這是命令;
}
else
if( IPData.SubString(i,1) >= "0" && IPData.SubString(i,1) < "9"
|| IPData.SubString(i,1) == "9" )
{
// 這是數字
}
}
如果黨成字符數組,則可做如下操作:
AnsiString IPData;
IPData = Uppercase(IPData);
for(int i = 1;i <= IPData.Length();i++)
{
if( IPData[i] >= 'A' && IPData[i] < 'Z' || IPData[i] == 'Z' )
{
// 這是命令;
}
else
if( IPData[i] >= '0' && IPData[i] < '9' || IPData[i] == '9' )
{
// 這是數字
}
}
注意,數組的首個元素為1,而不是0,Why???
感覺上,此種方法速度要快,不知道是否為真,因為沒有研讀源碼,無從驗證.