C++ 系统String类详解
引言
在 C++ 语言中,字符串 (String) 是一种非常常见的数据类型。在使用中,我们可以选择使用系统默认提供的String类,也可以选择使用第三方库提供的字符串类库。本文将详细讲解C++系统String类以及其相关使用技巧。
String类简介
String类是C++标准库中提供的一个数据类型,定义在头文件
String类的声明
String类的每一个对象都是一个字符串,我们可以通过以下方式声明和初始化String字符串:
//声明一个空的string类对象
string str1;
//声明并初始化一个string类对象
string str2 = "Hello World";
String类对象的初始化还支持复制操作:
string str3 = str2;
String类的常用操作
字符串的赋值和连接
赋值:使用 = 或 assign() 函数实现字符串的赋值。
string str4, str5;
str4 = "C++";
// 调用成员函数assign()
str5.assign("C++ Programming");
连接:使用 + 或者 append() 函数实现字符串的连接。
string str6 = "Coding";
string str7 = "Study";
// 使用+号连接字符串
string str8 = str6 + str7;
// 使用函数append() 连接字符串
string str9 = str6.append(str7);
字符串的比较
使用 compare() 函数实现字符串的比较。若两个字符串相同,则返回值为0。
string str10 = "Programming";
string str11 = "coding";
// 比较两个字符串
int result = str10.compare(str11);
if(result == 0){
cout << "str10和str11相等" << endl;
}
子串的操作
使用 substr() 函数截取字符串中的子串。
string str12 = "C++ Programming";
// 截取字符串
string sub_str = str12.substr(0, 3);
cout << "sub_str=" << sub_str << endl; // 输出"sub_str=C++"
字符串的查找
使用 find() 函数进行子字符串的查找。
string str13 = "Coding Study";
// 查找字符 "Study"
size_t pos = str13.find("Study");
if (pos != string::npos){
cout << "找到了字符串: " << pos << endl;
} else {
cout << "未找到字符串" << endl;
}
String类使用示例
示例一:实现字符串反转
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
string reverseStr(string str){
int n = str.length();
for(int i = 0; i < n/2; i++){
swap(str[i], str[n-1-i]);
}
return str;
}
int main(){
string str = "I love coding";
cout << "原始字符串: " << str << endl;
string reversed_str = reverseStr(str);
cout << "反转后的字符串: " << reversed_str << endl;
return 0;
}
输出:
原始字符串: I love coding
反转后的字符串: gnidoc evol I
示例二:实现字符串中单词的翻转
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
string reverseWords(string str){
reverse(str.begin(), str.end());
int start = 0, end = 0;
while((end = str.find(" ", start)) != string::npos){
reverse(str.begin()+start, str.begin()+end);
start = end + 1;
}
reverse(str.begin() + start, str.end());
return str;
}
int main(){
string str = "I love coding";
cout << "原始字符串:" << str << endl;
string reversed_words_str = reverseWords(str);
cout << "翻转后的字符串:" << reversed_words_str << endl;
return 0;
}
输出:
原始字符串:I love coding
翻转后的字符串:coding love I
总结
本文介绍了 C++ 系统 String 类的基本概念、声明方式、常用操作以及使用示例。在实际开发中,String类是 C++ 程序中非常常用的一个标准库,相信掌握了上述知识后,对于使用 String 进行字符串操作有更深刻的理解和认识。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++ 系统String类详解 - Python技术站