详解C++中string的用法和例子
string简介
在C++中,string是一个非常实用的类,用于处理文本字符串。它的功能比C语言中的char数组更强大、更简单,也更安全。
头文件引入
使用string需要引入以下头文件:
#include <string>
命名空间
想要使用string类,需要用到std命名空间。可以使用如下的名称空间声明:
using namespace std;
或者在调用string对象时,显式指定std命名空间:
std::string str = "Hello World";
string的创建和初始化
使用string时,可以直接使用字符串字面量或者字符数组来初始化:
string str1 = "Hello World"; // 使用字符串字面量初始化
char chArr[] = "Hello World";
string str2(chArr); // 使用字符数组初始化
也可以使用构造函数来初始化:
string str3(10, 'a'); // 初始化一个长度为10的字符串,每个字符都是'a'
string的基本操作
获取字符串长度
使用string类的length()
或者size()
函数可以获取字符串的长度:
string str = "Hello";
int len = str.length(); // len的值是5
连接字符串
使用+
运算符或者append()
函数可以连接两个字符串:
string str1 = "Hello";
string str2 = "World";
string str3 = str1 + " " + str2; // str3的值是"Hello World"
str1.append(str2); // str1的值变成"HelloWorld"
访问字符串中的字符
可以使用[]
来访问字符串中的单个字符:
string str = "Hello";
char ch = str[1]; // ch的值是'e'
也可以使用at()
函数:
string str = "Hello";
char ch = str.at(1); // ch的值是'e'
查找字符串中的字符或子串
使用find()
函数可以查找字符串中是否包含某个字符或者子串:
string str = "Hello";
int pos = str.find('e'); // pos的值是1
pos = str.find("ll"); // pos的值是2
注意find()返回值的类型是size_t
,这是一个无符号整数类型。
截取字符串
使用substr()
函数可以截取字符串的某一部分:
string str = "Hello World";
string substr1 = str.substr(6); // substr1的值是"World"
string substr2 = str.substr(0, 5); // substr2的值是"Hello"
第一个substr()
函数参数表示从哪一个位置开始截取,第二个参数表示截取的长度。如果不指定第二个参数,则截取截止到字符串末尾。
示例
下面给出两个字符串的示例:
示例一:判断两个字符串是否相等
#include <iostream>
#include <string>
using namespace std;
int main() {
string str1 = "Hello";
string str2 = "Hello";
if (str1 == str2) {
cout << "str1和str2相等" << endl;
} else {
cout << "str1和str2不相等" << endl;
}
return 0;
}
输出结果:
str1和str2相等
示例二:将字符串逆序输出
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "Hello World";
int n = str.length();
for (int i = n - 1; i >= 0; i--) {
cout << str[i];
}
cout << endl;
return 0;
}
输出结果:
dlroW olleH
以上就是本文对C++中string的用法和例子的详细讲解。如有不足请指正,谢谢!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解C++中string的用法和例子 - Python技术站