大家好,又见面了,我是你们的朋友全栈君。
1. append函数
常用的函数原型:
代码语言:javascript复制 basic_string &append( const basic_string &str );
basic_string &append( const char *str );
basic_string &append( const basic_string &str, size_type index, size_type len );
basic_string &append( const char *str, size_type num );
basic_string &append( size_type num, char ch );
basic_string &append( input_iterator start, input_iterator end );
append() 函数可以完成以下工作:
代码语言:javascript复制在字符串的末尾添加str,
在字符串的末尾添加str的子串,子串以index索引开始,长度为len
在字符串的末尾添加str中的num个字符,
在字符串的末尾添加num个字符ch,
在字符串的末尾添加以迭代器start和end表示的字符序列.
append函数常用的三个功能:
- 直接添加另一个完整的字符串:如str1.append(str2);
- 添加另一个字符串的某一段子串:如str1.append(str2, 11, 7);
- 添加几个相同的字符:如str1.append(5, ‘.’);注意,个数在前字符在后.上面的代码意思为在str1后面添加5个”.”
//========================================
#include<iostream>
using namespace std;
//========================================
int main()
{
string str1="I like C ";
string str2=",I like the world.";
string str3="Hello";
string str4("Hi");
//====================================
str1.append(str2);
str3.append(str2, 11, 7);
str4.append(5, '.');
//====================================
cout<<str1<<endl;
cout<<str3<<endl;
cout<<str4<<endl;
system("pause");
return 0;
}
//========================================
运行结果为
代码语言:javascript复制I like C ,I like the world.
Hello World.
Hi.....
2. push_back函数
函数原型:
代码语言:javascript复制void push_back(
value_type _Ch
);
功能:将字符添加到字符串的末尾,注意是字符而不是字符串。相当于basic_string &append( size_type num, char ch );
,其中num=1。
my_str.push_back("123");//错误
my_str.push_back('1');//ok
3. 使用 =拼接
重载操作符原型:
代码语言:javascript复制basic_string<CharType, Traits, Allocator>& operator =( value_type _Ch ); basic_string<CharType, Traits, Allocator>& operator =( const value_type* _Ptr ); basic_string<CharType, Traits, Allocator>& operator =( const basic_string<CharType, Traits, Allocator>& _Right );
使用示例:
代码语言:javascript复制std::string my_str = "holiday";
std::string my_str_add = "error" "error";//错误
std::string my_str_add2 = my_str "right";
std::string my_str_add3 = my_str "right" "right";
std::string my_str_add4 = "right" my_str;
std::string my_str_add5 = "error" "error" my_str;//错误
=操作符和append函数有什么区别呢,可以看下面的一个例子:
代码语言:javascript复制#include <iostream>
#include <string>
using namespace std;
int main()
{
{
char szTest[] = "