C++String使用笔记【自用】

原创 2017年01月03日 16:18:26

头文件–必须加

#include<string>

长度

s.length();//字符串中字符个数
s.size();//同上
s.capacity()//表示当前string的容量,即开辟内存的大小

读写

string str;//定义后,为长度为0的空串
cin >> str;//空格即结束
cout << str;

赋值

string s1,s2;
s1 = "hello world";
s2 = s1;
cout << s1 << endl;
cout << s2 << endl;//输出hello world

连接

//使用+ 和 +=
string s1 = "Atlas ",s2 = "King",s3;
s3 = s1 + s2;
s1 += s2;
cout << s1 << endl;
cout << s3 << end;      //均输出Atlas King

修改

erase(4,7);     //第一个数为要删除子串的开始位置,后一个数为长度

*注:是对自身进行操作

插入

s.insert(4,s2);     //第一个参数为插入位置,第二参数给出要插入的字符串

注:1.修改自身;2.第二个字符串也可以是C风格的字符数组

替换

s.replace(4,6,s2); //1为开始为位置,2为长度,3为要替代的字符串

交换

string s1 = "I";
string s2 = "You";
s1.swap(s2);
cout << s1 << endl; //输出You
cout << s2 << endl;//输出 I

提取子串

s.substr(4,6);
//1为开始为位置,2为子串长度。若长度超出,则直接取原字符串从开始位置后的全部即可

查找

int number= s.find(s2,ind);  //返回首字母的序号【未找到,返回-1】
//查找从位置ind之后【包括ins】的部分中,子串s2的位置。若ind缺省,则默认为零,即在整个串中查找

字符串比较

if(s1 == s2)  //区分大小写
if(s1 < s2)
if(s1 != s2)

大小写转换
【3.std::string 转换大小写】
很遗憾,std::string 没有提供大小写转换的功能,所以只能用STL中的transform结合toupper/tolower完成。
头文件: string, cctype,algorithm
转小写

//转小写
transform(str.begin(),str.end(),str.begin(),tolower);
transform(wstr.begin(), wstr.end(), wstr.begin(), towlower);
//转大写
transform(s.begin(), s.end(), s.begin(), toupper);
transform(wstr.begin(), wstr.end(), wstr.begin(), towupper);

Example:
    wstring wstr =L"Abc";
    transform(wstr.begin(), wstr.end(), wstr.begin(), towupper);

排序函数sort()
https://zhidao.baidu.com/question/216527176.html

逆置

char str[]="abcdefgh";//【变成"abgfedch"】
reverse(str+2,str+7);//对字符串数组
string s=str;
reverse(s.begin()+2,s.begin()+7);//对string
//reverse(s.begin()+2,s.end()-1);//和上面一句效果一样

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

docker使用笔记,自用以供参考

================================ 配置不使用https链接pull镜像(ubuntu:/etc/default/docker) #----------------...

C++ Primer学习笔记(2)—字符串string类的使用

学过一点C语言的人都知道,字符串操作是不可避免的,但C语言中字符串操作起来比较麻烦,比如两个字符串比较、连接、对串中某个字符进行操作等,需要调用相应地函数。而C++中,由于类概念的引入,在string...

C++ string的使用方法

  • 2011-11-04 22:18
  • 30KB
  • 下载

C++string类型的使用总结

  • 2012-07-03 15:51
  • 70KB
  • 下载

C/C++ 学习笔记:C++ 中 string 类使用总结

C++中的string类使用总结:构造函数、字符操作、特性描述、输入输出操作,string的赋值、连接、子串、比较、交换、查找、替换、插入、删除、迭代器、流处理等

c++的string的使用

  • 2011-10-24 18:23
  • 1.23MB
  • 下载

在C#中保存Bouncy Castle生成的密钥对 【自用笔记】

在用Bouncy Castle的C#版API产生公钥和私钥中产生了一对密钥对,可以用bouncy caslte提供的API进行保存 公钥方面的3个类,具体代码根据命名空间自行查看其源代码: ...

Windows下编译nginx的一些笔记(自用)

折腾很长一段时间nginx在win7下的编译,以前没接触过,诸多不明白,都快放弃了,结果今天从早上查资料一直到快下班,也不知怎么居然编译成功了,N多的报错居然没有了,感觉跟奇迹一样,脑子一片空白,都忘...

javascript高性能编程笔记(个人自用)

javascript高性能编程笔记(个人自用) 个人读书笔记,仅用于梳理知识点,摘抄很随意,若无意搜到的朋友不必细看,不然必凌乱 1.大多数浏览器使用单进程处理UI更新和javascript运行,...

c# 关于HtmlGenericControl 类的笔记(自用)

C# code HtmlGenericControl span = new HtmlGenericControl(); span.ID = "divn...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)