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方法之 ...
随机推荐
- L181 The microscopic structure of a cat’s tongue helps keep its fur clean
T.S. eliot's mystery cat, Macavity, besides being a criminal mastermind able to evade the combined r ...
- Linux下MySQL的安装和启动(转载)
原文链接:http://www.linuxidc.com/Linux/2016-07/133234.htm 一.MySQL各类安装方法的比较 在Linux系统下,MySQL有3种主要的安装方式,分别是 ...
- LSTM长短期记忆网络
Long Short Term Memory networks : http://colah.github.io/posts/2015-08-Understanding-LSTMs/
- [QT]加快qt编译:设置默认多核编译qt
使用环境:win7 + QT Creator 4.2.1 + QT5.8 + MinGW5.3.0 32bit 设置默认多核编译qt 来源:http://stackoverflow.com/ques ...
- Armadillo安装及使用
以下转载自http://www.cnblogs.com/youthlion/archive/2012/05/15/2501465.html Armadillo是一个C++开发的线性代数库,在vs201 ...
- memsql 多节点部署
以前部署使用的是docker,这个测试使用的是阿里云的机器 没有使用企业版,使用的是开发版,为一个master 多个Leaf 机器列表 172.31.128.165 172.31.128.166 17 ...
- C#对象的三种序列化
要让一个对象支持.Net序列化服务,用户必须为每一个关联的类加上[Serializable]特性.如果类中有些成员不适合参与序列化(比如:密码字段),可以在这些域前加上[NonSerialized]特 ...
- CentOS 6.5 下搭建NTP服务器
参考网站: http://www.iyunv.com/thread-64847-1-1.html http://acooly.iteye.com/blog/1993484 1 检查系统 ...
- SpringCloud初体验:四、API GateWay 服务网关
网关服务很多,比如:Zuul.Kong.spring cloud gateway ……, 这里不纠结哪种性能好,本次体验是用的 spring cloud gateway 更多网关比较可以了解这篇文章: ...
- Remi 安装源
Remi repository 是包含最新版本 PHP 和 MySQL 包的 Linux 源,由 Remi 提供维护.有个这个源之后,使用 YUM 安装或更新 PHP.MySQL.phpMyAdmin ...