C++ 字符串string

#include <string>
using namespace std;

1, 初始化

string s0;
string s1 ("Initial string");
2,迭代器  Iterators :

str.begin();
str.end(); 
string str ("Test string");
  for ( std::string::iterator it=str.begin(); it!=str.end(); ++it)
    std::cout << *it;
  std::cout << '\n';
Output: Test string
3,容量  Capacity :
str.size()  //字符串的长度
str.length()  //和size()返回值相同
str.capacity() //当前已经分配的存储空间
str.max_size() //字符串能够达到最大长度
  string str ("Test string");
  std::cout << "size: " << str.size() << "\n";
  std::cout << "length: " << str.length() << "\n";
  std::cout << "capacity: " << str.capacity() << "\n";
  std::cout << "max_size: " << str.max_size() << "\n";
  Output: 
  size: 11
  length: 11
  capacity: 15
  max_size: 4294967291
str.resize (size_t n);  //把字符串的长度置为n,如果n 小于实际长度,则删除大于n 的元素,但是不清空多余的内存,若n 小于实际长度,则以空字符填充
str.resize (size_t n, char c);//n小于实际长度时候以字符c 填充
str.reserve(n);  //调整容量Capacity到n 不改变字符串的内容
str.clear(); //清空字符串
str.empty();  //为空返回true,否则返回false
str.shrink_to_fit(); //C++11的新函数,释放多余的Capacity
4,访问元素   Element access :

str[i];      //返回第i+1个元素
str.at(i);   //自动检测位置i 是否越界,越界抛出异常
str.back();  //返回最后一个字符的引用
str.front(); //返回第一个字符的引用
5,修改  Modifiers :
operator+=    //在尾部加上字符串
str.append("here: ");  //在字符串尾部添加字符串
str.push_back(c); //在尾部添加一个字符c
str.assign(str1);  //用str1的内容替换当前的内容
str.insert(6,str2);  //在str第六个字符后面插入str2
str.erase (10,8);   //删除部分字符,删除从第10个字符之后的8个字符
str.replace(9,5,str2); //用str2取代第九个字符后面的5个字符
str1.swap (str2);  //交换str1与str2的内容
str.pop_back(); //删除最后一个字符
6,字符串操作  String operations:

str.c_str();  //返回一个 C-string指针,指向str的字符内容
str.data();  //和c_str()一样,返回相同的值
str.copy(buffer,6,5); //把str中的第六个及其后面的5个字符复制到字符数组buffer,返回复制个数6
std::size_t found = str.find(str2);
if (found!=std::string::npos)//npos是string 的数据成员,找不到位置的时候就返回npos
    std::cout << "first 'str2' found at: " << found << '\n';
str.rfind(key);//返回key字符串最后一次出现的位置
str.find_first_of("aeiou");//找str中第一次出现a,e,i,o,u字符的位置
str.find_last_of("ae");//最后一次出现a,e的位置
str2 = str.substr (3,5);//把str位置3及其后面的4个字符赋值给str2
str1.compare(str2);//str1与str2完全相同时候返回0
7,静态成员常量:string::npos

As a return value, it is usually used to indicate no matches.




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值