[转载]AnsiString 原來是一個字符數組.

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
通常,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???

感覺上,此種方法速度要快,不知道是否為真,因為沒有研讀源碼,無從驗證.

 這是幾年前,2000年吧,剛學bcb時,不懂AnsiString,只知道數組與指針,做了很多實驗,用ShowMessage看結果,發現還能用.

也許很土,好象是采用連加法做乘法一樣.前幾天翻看以前的東西,發現自己在字符串的處理上竟然困住了很久.

往事不堪回首.從單片機匯編到計算機c,c++我用了太長的時間.現在的感覺,是,用是夠了,可理論仍然不完善. 

我的本行是機電一體化.對編計算機程序是個外行,永遠都會是.因為我沒有學過操作系統,數據結構,沒有基礎,永遠只是門外漢. 

說句好聽的,我是屬于邊緣性人才吧.就象雙料間諜,必須承受太多的痛苦.    

c++ builder char数组 双向转化 AnsiString #include <vcl.h> int _tmain(int argc, _TCHAR* argv[]) { char buff[10]="Jack-Ma"; AnsiString Astr; Astr.SetLength(10); memcpy(Astr.c_str(),buff,10); std::cout<<Astr<<std::endl; system("pause"); return 0; } ... 阅读详情

相关推荐

动态字节数组的转换 Tbytes String、ANSIString及TBytes之间的转换

一、string转为ansistring 1、直接赋值 (有警告) 2、ansistring()类型强制转换。(无警告) 二、ansistring 转为string 1、直接赋值 (有警告) 2、string()类型强制转换。(无警告) 三、string 转为Tbyte...

450

AnsiString 原來是一個字符數組.

        通常,AnsiString類的的存取函數在大多數情況下已經夠用.不過有時嫌繁瑣.比方說,       求已知某AnsiString,解析其每個字符,其中字母為命令,數字為參數.      按照AnsiString的函數寫,如下:     AnsiString IPData;    IPData = Uppercase(IPData);       for(int

横刀立马的专栏 1223

AnsiString

AnsiString类是BCB中最常见类之一,了解它对以后深入学习BCB大有帮助。 介绍AnsiString类之前,先要介绍一些背景知识。VCL(Visual Component Library 可视化组件库)大量利用Pascal长字串数据类型,几乎所有基于文本的VCL属性都采用Pascal长字串。例如,Text、Name和Caption属性都是Pascal长字串属性。VC...

weixin_34402408的博客 363

C++Bulder之字符数组转换成AnsiString类型

情况一: char tmp[10] = "abcdefg"; AnsiString buffer; buffer = tmp; 情况二: char tmp[10] ="\0\0\4\4"; AnsiString buffer; buffer = tmp; 情况一转换正常,情况二转换后,buffer数据还是为空。 分析: 经调试发现,不管是字符串还是字符数组在转换成A

琅嬛福地 1664

DelphiXe Ansistring使用注意事项

原 DelphiXE下的字符串变化2011年03月17日 19:05:00 阅读数:6388 字符串类型用于描述一个单独的书面的文字和符号。一、字符类型Delphi支持AnsiChar和WideChar两种基本的字符类型。AnsiChar类型变量使用单字节来表示一个字符,WideChar使用两个字节来表示一个字符。WideChar和Ans...

HMH的博客 2719

构造函数- AnsiString::AnsiString

构造函数- AnsiString::AnsiString 创建一个AnsiString实例。  __fastcall AnsiString();  __fastcall AnsiString(const char* src);  __fastcall AnsiString(const AnsiString& src);  __fastcall AnsiString(const ch...

weixin_30672295的博客 74

AnsiString

        介绍AnsiString类之前,先要介绍一些背景知识。VCL大量利用Pascal长字串数据类型,几乎所有基于文本的VCL属性都采用Pascal长字串。例如,Text、Name和Caption属性都是Pascal长字串属性。VCL的许多构件方法和事件处理函数也采用Pascal长字串。关于Pascal长字串数据类型要注意两点。第一,Pascal长字串是真正的语言数据类型,而不象C/C+

0011411的专栏 1381

Delphi Xe的字符及字符串[1] - string、AnsiString、WideString、String[n]、ShortString

最常用的 string,以前版本(2007)中的默认状态下, String 就是 AnsiString,Xe版本String就是WideString。注意:DelphiXE中使用UniCodeString下标引用得到的字符的值,而使用AnsiString下标引用得到的却是字节的值。 AnsiString实质上是一个指针类型,与普通的指针不同,此类型的指针专用于指向字符串。利用标准函数SizeOf()可知此类型变量在内存中占用4个字节。所以AnsiString最小值为4byte,而非0byte,也就是说,一

turbocc 因程序而激情 2987

C++ Builder AnsiString

AnsiStringC++ Builder AnsiString 类介绍和使用 介绍AnsiString类之前,先要介绍一些背景知识。VCL大量利用Pascal长字串数据类型,几乎所有基于文本的VCL属性都采用Pascal长 字串。例如,Text、Name和Caption属性都是Pascal长字串属性。VCL的许多构件方法和事件处理函数也采用Pascal长字串。 关于Pascal长字串数据类型要注意两点。第一,Pascal长字串是真正的语言数据类型,而不象C/C++中一样只是个字符数组

芒果儿 1万+

Ansistring使用方法大全

Ansistring 转 char 代码: void __fastcall TForm1::Button1Click(TObject *Sender) { AnsiString Test = "哈哈"; char *chr = Test.c_str(); } char转Ansistring 代码: #include &lt;windef.h&gt;&lt;br&gt;voi...

编程开发资料库 201

Delphi AnsiString 与 PAnsiChar

http://www.newsmth.net/nForum/#!article/Delphi/83 发信人: flier (小海 //爱喝可乐^_^), 信区: Delphi标题: 关于Delphi中string的一些理解 :)发信站: BBS 水木清华站 (Wed Nov8 16:13:58 2000)delphi使用的object pas...

dediaokou5596的博客 715

delphi 字符串详解

delphi 字符串详解

lihongxu0221的博客 2962

delphi的字符串,字符数组

delphi的字符串,字符数组 在delphi中,我们可以使用用两种形式声明的字符串: string声明的字符串,结尾不含null。 pchar声明的字符串,结尾含有null,这是很多api函数所使用的字符串格式,实际上它是一个指向字符串的 指针 区别有以下几点: 1:可以用lentgh来测量两种字符串中所含有字符个数 2:string声明的字符串第一个字符的下标为1,而pchar声明

az44yao的专栏 3947
上一篇: [转载]Visual C++ vs C++ Builder
下一篇: [转载]BCB中控件數組的簡易實現
Rex_love_Burger
博客等级 码龄23年 13粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值