chaîne d'initialisation du conteneur [STL], couture, travaux, trouver, remplacer, comparer, sous-chaîne, insérer et supprimer

A, les propriétés de chaîne

chaîne STL est un type de chaîne, généralement utilisé pour représenter une chaîne. Avant d' utiliser la chaîne, la chaîne avec le charbon est généralement indiqué, la chaîne et le charbon peuvent être utilisés pour représenter une chaîne.
Parlant des propriétés de chaîne, et aurait omble chevalier type chaîne de comparaison:
. 1, char
est un pointeur, est une classe de chaîne
chaîne encapsule char *, la gestion de la chaîne, est char conteneur de type.
2, chaîne encapsule beaucoup de méthode membre pratique
pour trouver trouver, copier copier, supprimer supprimer, remplacer le remplacer, insérer INSERT
3, quelle que soit la version de la mémoire et transfrontalière
chaîne ombles gérer
la mémoire allouée, chaque chaîne de copie, par valeur classe chaîne prend en charge, ne vous inquiétez pas de la valeur de la coopération transfrontalière et la copie transfrontalière et ainsi de suite.
. 4, la chaîne et le charbon sont interchangeables, tour chaîne char fourni par une chaîne de caractères de la méthode c_str ().

//string转char*
string str=“abcdefg”;
const char* cstr=str.c_str();
//char*转string
char* s=“abcdefg”;
string sstr(s);

Deux, l'initialisation du conteneur de chaîne, couture, travaux, trouver, remplacer, comparer, sous-chaîne, insérer et supprimer

#include<iostream>
#include<string>
using namespace std;

/////////////////////// 1- initialisation
Insérer ici l'image Description
Insérer ici l'image Description

void test01() {
	string s1;//调用无参构造
	string s2(10, 'a');
	string s3("abcdefg");
	string s4(s3);//拷贝构造

	cout << s1 << endl;
	cout << s2 << endl;
	cout << s3 << endl;
	cout << s4 << endl;

}

2- Affectation //////////////////////
Insérer ici l'image Description

void test02() {
	string s1;
	string s2("appp");
	s1 = "abcdefg";
	cout << s1 << endl;
	s1 = s2;
	cout << s1 << endl;
	s1 = 'a';
	cout << s1 << endl;

	//成员方法 assign 进行赋值
	s1.assign("jkl");
	cout << s1 << endl;
}

3- opération de valeur //////////////////////

void test03() {

	string s1 = "abcdefg";

	//重载[]操作符
	for (int i = 0; i < s1.size(); ++i) {
		cout << s1[i] << " ";
	}
	cout << endl;
	//at成员函数
	for (int i = 0; i < s1.size(); ++i) {
		cout << s1.at(i) << " ";
	}
	cout << endl;

	//区别:[]方式 如果访问越界,直接挂掉
	//		at方式 访问越界,抛出异常out_of_range;

	try {
		cout << s1.at(100) << endl;
	}
	catch(...){
		cout << "越界" << endl;
	}
}

4- opération de raccordement /////////////////////
Insérer ici l'image Description

void test04() {
	string s = "abcd";
	string s2 = "1111";
	s += "abcd";
	s += s2;
	cout << s << endl;//abcdabcd1111

	string s3 = "2222";
	s2.append(s3);//把s3加到s2后面
	cout << s2 << endl;// 11112222

	string s4 = s2 + s3;//把s3加到s2的后面
	cout << s4 << endl;//111122222222
}

//////////////////// 5- Rechercher et remplacer
Insérer ici l'image Description

void test05() {
	string s = "abcdefgsadasaafgddefgde";
	//查找第一次出现的位置
	int pos=s.find("fg");
	cout << "pos:"<<pos << endl;

	//查找最后一次出现的位置
	pos = s.rfind("fg");
	cout << "pos:" << pos << endl;
}

///////////////////// opération de remplacement

void test06() {
	string s = "abcdefg";
	s.replace(0, 2, "111");
	cout << s << endl;
}

6- comparaison de chaînes ////////////////////
Insérer ici l'image Description

void test07() {
	string s1 = "abcd";
	string s2 = "abce";
	if (s1.compare(s2) == 0) {
		cout << "字符串相等" << endl;
	}
	cout << "不相等" << endl;
}

////////////////// sous-chaîne de commande 7 cordes

void test08() {
	string s = "abcdefg";
	string sub=s.substr(1, 3);
	cout << sub << endl;
}

///////////////// insertion et de suppression 8 cordes
Insérer ici l'image Description

void test09() {
	string s = "abcdefg";
	s.insert(3, "111");//abc111defg
	cout << s << endl;

	s.erase(0, 2);//c111defg
	cout << s << endl;
}

je

nt main(void) {
	//test01();
	//test03();
	//test04();
	//test05();
	//test06();
	//test07();
	//test08();
	test09();
	return 0;
}
Publié 57 articles originaux · a gagné les éloges 28 · vues 4133

Je suppose que tu aimes

Origine blog.csdn.net/weixin_41747893/article/details/102831889
conseillé
Classement