C++Builder 也有StringBuilder
System::Sysutils::TStringBuilder *sb = new TStringBuilder;
sb->Append("ww");
sb->AppendLine();
sb->Append("hello");
Caption = sb->ToString();
delete sb;
c++builder字符串处理类
sb->Append("ww"); 这里重载了很多类型,int、bool、byte等,无需自己转换了。
StringWriter.write();//同样重载了很多方法。
TStringBuilder、TStringReader、TStringWriter
http://docwiki.embarcadero.com/Libraries/Berlin/en/System.SysUtils.TStringBuilder
http://docwiki.embarcadero.com/CodeExamples/Berlin/en/StringReaderWriter_(C%2B%2B)
http://docwiki.embarcadero.com/CodeExamples/Berlin/en/TStringBuilder_(C%2B%2B)
网友整理的很实用
http://www.cnblogs.com/sures/p/6044917.html
很实用的方法
TStringBuilder* Replace(UnicodeString OldValue, UnicodeString NewValue, int StartIndex, int Count)/* overload */;
std::auto_ptr<TStringBuilder> sb(new TStringBuilder());
void __fastcall TMainForm::btReadClick(TObject *Sender)
{
Char Ch;
TStringReader* Reader1;
TStringReader* Reader2;
TCharArray Buffer;
String Line;
String Init; Init = String("This is the first line") + char() + "This is the some text"; /* Create a string reader. */
Reader1 = new TStringReader(Init);
Reader2 = new TStringReader(Init); /* Read the first string. */
Edit1->Text = Reader1->ReadLine();
Memo1->Text = Reader1->ReadToEnd(); /* Prepare a buffer. */
Buffer.set_length(); /* Read first 23 characters from the second string. */
if (Reader2->ReadBlock(Buffer,,Buffer.Length) < Buffer.Length)
{
MessageDlg("Reading failed! Expected to read 23 characters!",
mtError, TMsgDlgButtons() << mbOK, );
} /* Read the rest of the second string, char-by-char, and write it in the
second memo box. */
Line = "";
do
{
Ch = Char(Reader2->Read());
Line += Ch;
}
while (Reader2->Peek() >= );
Memo2->Text = Line; /* Close the reader. */
Reader1->Close();
Reader2->Close();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::btWriteClick(TObject *Sender)
{
TStringWriter* Writer;
String MyStr; /* Create a string writer. */
Writer = new TStringWriter(); /* Store the text in the writer. */
Writer->WriteLine(Edit1->Text);
Writer->Write(Memo1->Text + sLineBreak + Memo2->Text);
MyStr = Writer->ToString();
ShowMessage(MyStr); /* Clear writer's buffer data. */
Writer->Flush(); /* Close the writer. */
Writer->Close();
delete Writer;
}
C++Builder 也有StringBuilder的更多相关文章
- 设计模式Builder(建造者)模式
1.出现原因 在软件系统中,有时候会面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成:由于需求的变化,这个复杂的对象的各个部分可能面临着剧烈的变化,但是把他们组合在一起的算法 ...
- [java初探外篇]__关于StringBuilder类与String类的区别
前言 我们前面学习到String类的相关知识,知道了它是一个字符串类,并且了解到其中的一些方法,但是当时并没有太过注意到String类的特点,今天就StringBuilder类的学习来比较一下两者的区 ...
- Java笔记——String、StringBuffer和StringBuilder类
String类是不可变类,即一旦一个String对象被创建以后,包含在这个对象中的字符串序列是不可改变的,直至这个对象被销毁. StringBuffer对象则代表一个字符序列可变的字符串,当一个S ...
- JDK源码分析系列---String,StringBuilder,StringBuffer
JDK源码分析系列---String,StringBuilder,StringBuffer 1.String public final class String implements java.io. ...
- 面试常备,字符串三剑客 String、StringBuffer、StringBuilder
尽人事,听天命.博主东南大学硕士在读,热爱健身和篮球,乐于分享技术相关的所见所得,关注公众号 @ 飞天小牛肉,第一时间获取文章更新,成长的路上我们一起进步 本文已收录于 「CS-Wiki」Gitee ...
- Core Java Volume I — 3.6. Strings
3.6. StringsConceptually, Java strings are sequences of Unicode characters(Java的字符串是一个Unicode序列). Fo ...
- (经常看看)jdk 设计模式
在JDK(Java Development Kit)类库中,开发人员使用了大量设计模式,正因为如此,我们可以在不修改JDK源码的前提下开发出自己的应用软件,本文列出了部分JDK中的模式应用实例,有兴趣 ...
- String源码
/* * Copyright (c) 1994, 2010, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETA ...
- C# lesson3
一.局部变量和成员变量 1.程序入口(Main)要调用非静态成员(变量或方法)的话,是需要通过对象去调用的: 2.普通方法里面去调用变量或方法的话可以直接调用 成员变量(全局变量):放在Main方法之 ...
随机推荐
- UVA-11183 Teen Girl Squad (最小树形图、朱刘算法模板)
题目大意:给一张无向图,求出最小树形图. 题目分析:套朱-刘算法模板就行了... 代码如下: # include<iostream> # include<cstdio> # i ...
- UVALive-3887 Slim Span (kruskal)
题目大意:定义无向图生成树的最大边与最小边的差为苗条度,找出苗条度最小的生成树的苗条度. 题目分析:先将所有边按权值从小到大排序,在连续区间[L,R]中的边如果能构成一棵生成树,那么这棵树一定有最小的 ...
- iOS UI-应用管理(使用Cell模板)
一.Model // // BWApp.h // IOS_0112_应用管理 // // Created by ma c on 16/1/12. // Copyright (c) 2016年 博文科技 ...
- 同一sql表,在页面展示多级菜单
2.
- 用于调试的printf函数和自定义log函数
1. 用宏定义调试用的DPRINT #define DEBUG_ENABLE #ifdef DEBUG_ENABLE #define DPRINT(fmt, args...) fprintf(stde ...
- centos 搭建 docker sentry
1.安装 http://blog.51cto.com/linuxg/2052927 2 .实际调试: 项目: <title>hghh</title> <script sr ...
- ionic2中跨页面回传值
1.在跳转到新页面时传入一个contactsCallback的参数,在该参数的函数定义中做出一个承诺. 注意:最开始我本来是采用如下图方式的,但是很不幸,出现了问题,问题所在就是关于这个this的作用 ...
- pandas groupby 使用
so useful~ refer to: http://kekefund.com/2016/06/17/pandas-groupby/
- 关于SSL的error问题
今天模拟网页版微信登录的时候又碰到一个SSLError的问题 requests.exceptions.SSLError: [Errno 1] _ssl.c:503: error:14090086:SS ...
- 【转】嵌入式Linux启动配置文件及脚本
原文网址:http://blog.csdn.net/shuaishuai80/article/details/6202497 使用Busybox制作根文件系统时,/etc目录非常重要,它包含了嵌入式L ...