STL之string

string 类
assign分配赋值

assign( const char * ) 把字符串s赋值给当前字符串

assign( const char * , int n ) ; 把字符串前n个字符赋值给当前的字符串

assign( const string &s ) ; 把字符串s赋值给当前字符串

assign( int n , char c ) ; 用n个字符c赋值给当前字符串

append字符串拼接

append( const char * s ) ; //把字符串s连接到当前字符串结尾

append( const char * s , int n ) ; //把字符串s的前n个字符连接到当前字符串结尾

append( const string & s ) ; //等同于+=

append( const string & s , int pos , int n ) ; //字符串s中从pos开始的n个字符连接到字符串末尾

string 查找和替换

int find( const string & str , int pos = 0 ) const ; //查找str第一次出现位置,从pos开始查找

int find( const char * s , int pos = 0 ) const ; //查找s第一次出现位置,从pos开始查找

int find( const char * s , int pos , int n ) const ; //从pos位置查找s的前n个字符第一次位置

int find( const char c , int pos = 0 ) const ; //查找字符c第一次出现位置

int rfind( const string & str , int pos = npos ) const ; //从pos开始查找str最后一次位置

int rfind( const char * s , int pos = npos ) const ; //从pos开始查找s最后一次出现位置

int rfind( const char * s , int pos , int n ) const ; //从pos查找s的前n个字符最后一次位置

int rfind( const char c , int pos = 0 ) const ; //查找字符c最后一次出现位置

string & replace( int pos , int n , const string & str ) ; //替换从pos开始n个字符为字符串str

string & replace( int pos , int n , const char * s ) ; //替换从pos开始的n个字符为字符串S

string 字符串比较

按照ASCII码进行对比

=返回0 >返回1 <返回-1

int compare( const string &s ) const ;

int compare( const char * s ) const ;

str1.compare( str2 ) ;

string 字符存取

char & operator[] ( int n ) ; //通过[] 方式取字符 str[3] ;

char & at( int n ) ; //通过at方法取字符

string 插入和删除

string & insert( int pos , const char * s ) ; //插入字符串

string & insert( int pos , const string & str ) ; //插入字符串

string & insert( int pos , int n , char c ) ; //在指定位置插入n个字符c

string & erase( int pos , int n = npos ) ; //删除从Pos开始的n个字符

string 子串

string substr( int pos = 0 , int n = npos ) const ; //返回由pos开始的n个字符组成的字符串

练习
#include<iostream>
#include<string>
using namespace std ;


int main()
{
	string email ;
	cout << "输入邮箱:" ;
	cin >> email ;
	cout << "您的邮箱用户名为" ;
	int pos = email.find('@') ;
	string usr = email.substr( 0 , pos ) ;
	cout << usr << endl ;
	cout << "邮箱:" ;
	cout << email << endl ;
	
	return 0 ;
}

结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值