zoukankan      html  css  js  c++  java
  • C++中string的用法

    我们知道string可以构造一个字符串变量,那么它的操作有哪些呢。它包含在string库中(不是string.h没有.h),它可以和定义一个字符一样定义一个字符串变量,而且强大的C++还内置了各种函数,基本实现不用再手写操作函数。而且可以进行字典序的比较和串操作。

    一、对位和对串操作

    如何或者string串中的某一位字符呢,我们使用数组下面的方式就可以访问。

    例如

    string s = "abcdef";
    cout << s[0] << endl;

    结果就应该是输出了字符'a',同时string类型也可以直接加上另一个字符串,例如

    string a = "abc", b = "bcd";
    a = a + b;
    cout << a << endl;

    结果应该输出字符串“abcbcd”。

    二、内置函数

    在string类型中其实包括了很多函数,例如

     1     string s = "a";
     2     s.append(2,'b');//s.append(n,c);在s串后面加入n个c字符(append还有其他用法,详情可百度)
     3     s.erase(s.begin(),s.begin()+2);//s.erase(l,r);删除某个区间,l,r都为迭代器
     4     s.erase(it);//删除一个字符,it为迭代器
     5     s.size();//返回字符串s的长度大小
     6     s.begin();//返回首位置的迭代器
     7     s.end();//返回末位置的迭代器
     8     s.insert(it,ch);//在it位置插入ch字符,it为迭代器
     9     s.resize(len,c);//把字符串当前大小置为len,并用c填充不足的部分
    10     s.empty();//判断是否为空串
    11     s.length();//返回字符串的长度
    12     s.max_size();//返回当前系统string对象可存放的最大长度
    13     s.capacity();//返回当前容量
    14     s.at(k);//返回第k+1个字符(该用法会坚持是否越界)
    15     s.c_str();//返回C字符串的指针,内容为s串
    16     s.find(s1);//查找s中是否包含s1,并返回头位置,找不到则返回string::npos
    17     s.replace(k,x,ch);//从k位置开始,把后面的x个元素替换为ch(还有很多其他用法)
    18     s.swap(s2);//交换两个string字符串

    而且string还支持直接比较两个字符串的大小(内置字典序比较方式)。除了上面写了的外,string其实还有很多函数。

    emmm写到一半发现了个讲的很全的博客,不写了 ==

    C++string类型详解

  • 相关阅读:
    给入门程序员的一些学习建议(一定要看)
    拦截器工作原理
    Struts 2中如何解决中文乱码问题?
    struts1与struts2的区别。
    MVC是什么?
    spring MVC工作原理
    C#中,子类构造函数调用父类父类构造函数的正确方式
    泛型的优点
    jsp的page、request、session、application四个作用域的作用
    jsp转发与重定向的区别
  • 原文地址:https://www.cnblogs.com/xenny/p/10015881.html
Copyright © 2011-2022 走看看