You've successfully subscribed to ムえのBLOG
Great! Next, complete checkout for full access to ムえのBLOG
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.

C++ String

. 2 min read

大小写转换

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main(){
	string s1("aaaaaa");
	transform(s1.begin(),s1.end(),s1.begin(),::toupper);
    //::一定要写,toupper tolower 转大转小
	cout<<s1<<endl;
	return 0;
}

中的一些基础操作

=、assign()//用于赋予新值,assign函数用于将一个字符串的部分内容赋值给另一个string对象
eg.string s1 = "hello";
   string s2;
   s2.assign(s1,0,3);//s2的值为“hel”

swap() //交换两个字符串的内容
eg.string s1 = "hello";
   string s2 = "world";
   swap(s1,s2);//swap函数将s1和s2的内容交换,现在s1="world",s2="hello"

+=、append()、push_back()//在字符串尾部追加内容,"+="可追加string对象,字符以及C风格字符串,append函数则可以追加string对象和C风格字符串,push_back函数则只能追加字符
eg.string s1 = "hello";
   string s2 = " world";
   s1 += s2;//正确,s1的值为”hello world“
   s1 +="world";// 正确,s1的值为"hello world"
   s1 +='c'; //正确,s1的值为"helloc"

   s1.append(s2);//正确,s1的值为"hello world"
   s1.append(" world");//正确,s1的值为"hello world"
   s1.append('c');//错误,append函数不支持追加字符

   s1.push_back(s2);//错误
   s1.push_back("world");//错误
   s1.push_back('c');//正确


insert()//用于插入字符串
eg.string s1 = "hello";
   s1.insert(0,"world ");//s1的值为world hello

erase()//用于删除字符的
eg.string str("This is an example phrase.");
   string::iterator it;//迭代器

   str.erase(10,8);//str的值为"This is an phrase.",删除了从位置10开始的8个字符

   it = str.begin()+9;//迭代器位置为9
   str.erase(it);//删除了从it迭代器位置处的一个字符,str="This is a phrase."

   str.erase(str.begin()+5,str.end()-7);//删除两个参数之间的所有字符,str="This phrase."


clear()函数和~string()//都是用来删除全部字符的
eg.str.clear();//删除str的全部字符,此时str为一个空串
   str.~string();//销毁所有字符,释放内存

replace()函数,用于替换字符
eg.1.string line = "this@ is@ a test string!";
     line = line.replace(line.find("@"),1,"");//将line中从find的@位置开始替换一个长度的字符为"" 结果为this is@ a test string!

==、!=、<、<=、>、>=、compare()//比较字符串
eg.string s1 = "haha";
    string s2 = "haha";
    if(s1.compare(s2) == 0){
         cout << "相等" << endl;      
}

size()函数和length()函数,返回字符串的字符数
eg.string str = "haha";
   str.size() 等于 str.length(),值均为4

empty()//判断字符串是否为空

下标法str[index]或者str.at(index)获取字符串内指定位置的字符

data()函数,将内容以字符数组的形式返回


本站总访问量 正在加载今日诗词....