C++ STL(三)string容器

4. string容器

构造函数

//默认构造
string s1;	
// 使用字符串str初始化
const char* str = "hello world";
string s2(str);
// 使用一个string对象初始化另一个string对象
const char* str2 = "666";
string s3(str2);
// 使用n个字符c初始化
string s4(10, 'a');

string赋值操作

// char* 类型的字符串赋值给当前的字符串
string str;
str = "hello world";
// 把字符串str赋值给当前的字符串
string str1;
str1 = str;
// 把字符赋值给当前的字符串
str1 = 'A';
//*****************使用string类的成员函数assign
// 把字符串 赋值给当前的字符串
string str4;
str4.assign("hello C++");
// 把字符串的前5个字符赋值给当前字符串
string str5;
str5.assign("hello C++", 5);
// 把字符串str5赋值给当前字符串
string str6;
str6.assign(str5);
// 把20个m赋值给str7
string str7;
str7.assign(20, 'm');

string字符串拼接

// 使用+
string str1 = "我";
str1 += "爱玩游戏";
str1 += 'A';
string str2 = "爱玩手机";
str1 += str2;
cout << str1 << endl;
// 使用append
string str3 = "I";
string str4 = "666";
// 把字符串连接到当前字符串尾部
str3.append("Love");
// 把字符串的前3个连接到当前字符串的尾部
str3.append("12345", 3);
// 把str4 追加到当前字符串的尾部
str3.append(str4);
string str5 = "111";
// 把str4从第0个到第2个字符 追加到str5
str5.append(str4, 0,2);
cout << str5;

string字符串查找和替换

// 查找指定字符串在str中的起始位置
string str1 = "abcdefg";
int pos = str1.find("de");
if (pos == -1)
{
	cout << "未找到字符串" << endl;
}
else
{
	cout << "找到字符串pos = " << pos << endl;
}
// find 从左往右查找
// rfind从右往左查找

// ************字符串替换
// 从0到2的位置替换成aaaaaa
string str2 = "123456";
str2.replace(0, 2, "aaaaaa");

string字符串比较

  • 是按字符串的ASCII码进行对比

    • = 返回0
    • > 返回1
    • < 返回-1
    string str1 = "hello";
    string str2 = "hello";
    if (str1.compare(str2) == 0)
    {
    	cout << "两个字符串相等" << endl;
    }
    else
    {
    	cout << "两个字符串不相等" << endl;
    }
    

string字符存取

string str = "hello";
// 1.通过[]访问单个字符
for (int i = 0; i < str.size(); i++)
{
	cout << str[i] << " ";
}
// 2.通过at访问单个字符
for (int i = 0; i < str.size(); i++)
{
	cout << str.at(i) << " ";
}
// 3.修改单个字符
str[0] = 'm';
str.at(1) = 'x';
cout << str << endl;

string字符串插入和删除

string str = "hello";
// 从第1个位置插入字符串
str.insert(1, "111");
// 从第1个位置删除3个
str.erase(1, 3);
cout << str;

string子串获取

  • 功能:从字符串中获取想要的字符串
string str = "abcdef";
// 获取str从第一个到第三个
string subStr = str.substr(1, 3);
cout << subStr<< endl;
string email = "zhangsan@163.com";
// 从邮箱中获取用户名信息
int pos = email.find('@');
string usrname = email.substr(0, pos);
cout << usrname;
posted @   ProEmon  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探
点击右上角即可分享
微信分享提示