C++中string字符串
头文件:#include “string”
常用
一、输入字符串
1、带空格字符串:getline(cin,s)
2、不带空格字符串:cin>>string
二、字符串转换(char[]、string、int[])
1、char[]转string:
char a[20];
cin.get(a,20); //char类型数组输入带空格字符串的方法
cin.get(char[],length);
string b = a;
2、string转char[]:
string b;
char a[20];
getline(cin,b); //string类型输入带空格字符串方法
getline(cin,string);
strcpy(a, b.c_str()); //strcpy导入头文件<cstring>
//strcpy(a,b):b数组赋值给a数组
//b.c_str: string类型的b转换成char[]类型
3、数字转string
int n = 123;
string str = to_string(n); //需要配置c++11
4、string转数字
string str = "123";
int num = stoi(str);
函数
1、大小写转换
transform(first,last,result,op);
变大写toupper(‘char’)
变小写tolower(‘char’)
string s = "abcABC";
transform(s.begin(),s.end(),s.begin(),::toupper);
transform(s.begin(),s.end(),s.begin(),::tolower);
2、倒置
strrev(str)
3、截取
str.substr(start,length)
string str="0123456";
string a=str.substr(1,3); //a="123";
4、长度
str.length()
5、插入字符
str.insert(start,end,‘char’);
string str = "1";
str.insert(0,4 - s.length(), '0'); //总长度为4,不足长度则在字符串前面补0
str.insert(0, 4, '0'); //在字符串前面补四个0
6、拼接
string s1 = “abc”;
string s2 = "def";
string s2 +=s1;
7、字符串位置
首地址:s.begin();
尾地址:s.end();
9、string比较的特点
从前往后每一个进行比较,不相同则返回比较结果,不考虑长度
10、查找字符
string.find(‘char’) //找字符串中的’char’
string::npos参数 —— npos 是一个常数,用来表示不存在的位置
if(s.find('f')==string::npos) //不存在f
cout<<"不存在";
if(s.find('f')!=string::npos) //存在f,不能略写成if(s.find('f'))
cout<<"存在";
11、分割字符串
String str="1234@abc";
String[] a = str.split("@");
System.out.println("处理结果: "+a[0]+","+a[1]); //输出的是: 处理结果: 1234,abc