C++ append

append函数是向string的后面追加字符或字符串。头文件是<string>.


1).向string的后面加C-string
string s = “hello “; const char *c = “out here “;
s.append(c); // 把c类型字符串s连接到当前字符串结尾
s = “hello out here”;


2).向string的后面加C-string的一部分
string s=”hello “;const char *c = “out here “;
s.append(c,3); // 把c类型字符串s的前n个字符连接到当前字符串结尾
s = “hello out”;


3).向string的后面加string
string s1 = “hello “; string s2 = “wide “; string s3 = “world “;
s1.append(s2); s1 += s3; //把字符串s连接到当前字符串的结尾
s1 = “hello wide “; s1 = “hello wide world “;


4).向string的后面加string的一部分
string s1 = “hello “, s2 = “wide world “;
s1.append(s2, 5, 5); 把字符串s2中从5开始的5个字符连接到当前字符串的结尾
s1 = “hello world”;
string str1 = “hello “, str2 = “wide world “;
str1.append(str2.begin()+5, str2.end()); //把s2的迭代器begin()+5和end()之间的部分连接到当前字符串的结尾
str1 = “hello world”;


5).向string后面加多个字符
string s1 = “hello “;
s1.append(4,’!’); //在当前字符串结尾添加4个字符!
s1 = “hello !!!!”;
---------------------
作者:wxn704414736
来源:优快云
原文:https://blog.youkuaiyun.com/wxn704414736/article/details/78551886
版权声明:本文为博主原创文章,转载请附上博文链接!

### C++ 中 `append` 方法的使用及其替代方案 在 C++ 中,字符串操作是一个常见的需求。对于字符串追加的操作,标准库提供了多种方式来实现这一功能。以下是关于 `std::string` 的 `append` 方法以及其替代方案的具体说明。 #### 1. 使用 `std::string::append` 进行字符串拼接 `std::string` 提供了一个名为 `append` 的成员函数,用于将另一个字符串的内容附加到当前字符串的末尾。该方法支持多种形式的参数输入,例如其他字符串、字符数组或者单个字符等[^1]。 示例代码如下: ```cpp #include <iostream> #include <string> int main() { std::string str = "Hello"; str.append(", "); // 添加 ", " str.append("World"); // 添加 "World" std::cout << "Result: " << str << std::endl; return 0; } ``` 上述代码展示了如何利用 `append` 函数逐步构建完整的字符串。 #### 2. 使用运算符重载 (`+=`) 实现字符串追加 除了显式的 `append` 调用外,C++ 支持通过重载的 `+=` 运算符简化字符串连接过程。这种方式更加直观且易于理解[^2]。 下面的例子演示了这种技术的应用场景: ```cpp #include <iostream> #include <string> void appendString(std::string& str, const std::string& text) { str += text; // 等价于 str.append(text); } int main() { std::string message = "Hello, "; appendString(message, "World!"); appendString(message, " Welcome!"); std::cout << "Final Message: " << message << std::endl; return 0; } ``` 此片段中的 `appendString` 函数内部采用了 `+=` 操作代替传统的 `append` 呼叫[^2]。 #### 3. 利用流式插入器 (Stream Insertion Operator) 当需要动态生成复杂格式化输出时,可以借助 iostream 库提供的流机制完成类似的任务。尽管这不是严格意义上的 “追加”,但在某些情况下能够提供更灵活的选择[^3]。 实例展示如下: ```cpp #include <sstream> // 引入 ostringstream 头文件 #include <string> #include <iostream> int main(){ std::ostringstream oss; oss << "The current time is : " << QTime::currentTime().toString("hh:mm:ss").toStdString(); std::string finalStr = oss.str(); // 获取最终结果 std::cout << "Generated String: " << finalStr << "\n"; return 0; } ``` 注意这里假设存在 Qt 类型转换辅助工具以兼容非纯 STL 数据结构[^3]。 #### 总结 综上所述,在实际开发过程中可以根据项目特点和个人偏好选用不同的字符串组合策略。无论是直接调用 `append()` 成员函数还是采用简洁优雅的复合赋值语句形式(`+=`),都能有效达成目标;而针对特定场合下的高级需求,则可探索基于 IO 流的技术路线。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值