文章目录
- 构造函数(Constructors)
- 操作符(Operators)
- 添加文本(append)
- 赋值(assign)
- at
- begin
- c_str
- 容量(capacity)
- 比较(compare)
- 拷贝(copy)
- data
- empty
- end
- 删除(erase)
- 查找(find)
- find_first_of
- find_first_not_of
- find_last_of
- find_last_not_of
- get_allocator
- 插入(insert)
- 长度(length)
- max_size
- rbegin
- rend
- 替换(replace)
- 保留空间(reserve)
- resize
- rfind
- size
- substr
- 交换(swap)
构造函数(Constructors)
语法:
string();
string( size_type length, char ch );
string( const char *str );
string( const char *str, size_type length );
string( string &str, size_type index, size_type length );
string( input_iterator start, input_iterator end );
字符串的构造函数创建一个新字符串,包括:
- 以length为长度的ch的拷贝(即length个ch)
- 以str为初值 (长度任意),
- 以index为索引开始的子串,长度为length, 或者
- 以从start到end的元素为初值.
例如,
string str1( 5, 'c' );
string str2( "Now is the time..." );
string str3( str2, 11, 4 );
cout << str1 << endl;
cout << str2 << endl;
cout << str3 << endl;
显示
ccccc
Now is the time...
time
操作符(Operators)
语法:
` == > < >= <= != + += [] `
你可以用 ==, >, <, >=, <=, and !=比较字符串. 可以用 + 或者 += 操作符连接两个字符串, 并且可以用[]获取特定的字符.
添加文本(append)
语法:
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() 函数可以完成以下工作:
- 在字符串的末尾添加str,
- 在字符串的末尾添加str的子串,子串以index索引开始,长度为len
- 在字符串的末尾添加str中的num个字符,
- 在字符串的末尾添加num个字符ch,
- 在字符串的末尾添加以迭代器start和end表示的字符序列.
例如以下代码:
string str = "Hello World";
str.append( 10, '!' );
cout << str << endl;
显示
Hello World!!!!!!!!!!
赋值(assign)
语法:
basic_string &assign( const basic_string &str );
basic_string &assign( const char *str );
basic_string &assign( const char *str, size_type num );
basic_string &assign( const basic_string &str, size_type index, size_type len );
basic_string &assign( size_type num, char ch );
函数以下列方式赋值:
- 用str为字符串赋值,
- 用str的开始num个字符为字符串赋值,
- 用str的子串为字符串赋值,子串以index索引开始,长度为len
- 用num个字符ch为字符串赋值.
例如以下代码:
string str1, str2 = "War and Peace";
str1.assign( str2, 4, 3 );
cout << str1 << endl;
显示
and
at
语法:
` reference at( size_type index ); `
at()函数返回一个引用,指向在index位置的字符. 如果index不在字符串范围内, at() 将报告"out of range"错误,并抛出out_of_range异常。 比如下列代码:
string text = "ABCDEF";
char ch = text.at( 2 );
显示字符 ‘C’.
begin
语法:
` iterator begin(); `
begin()函数返回一个迭代器,指向字符串的第一个元素.
相关主题:
end()
c_str
语法:
` const char *c_str(); `
c_str()函数返回一个指向正规C字符串的指针, 内容与本字符串相同.
容量(capacity)
语法:
` size_type capacity(); `
capacity()函数返回在重新申请更多的空间前字符串可以容纳的字符数. 这个数字至少与 size()一样大.
相关主题:
max_size(), reserve(), resize(), size()
比较(compare)
语法: