C++ 动态字符串String的介绍及经典用法展示
std::string:
在C++中,std::string
是标准模板库(STL)中的一个类,用于表示和操作字符串。std::string
提供了丰富的功能来处理文本数据,包括字符串的创建、修改、搜索、比较和转换等操作。
std::string
的特点:
1.动态字符串:std::string
是一个动态字符串类,它可以根据需要自动调整大小。
2.操作简便:std::string
提供了类似于C风格字符串的接口,使得字符串操作非常直观和方便。
3.安全性:std::string
避免了C风格字符串的许多安全问题,如缓冲区溢出。
4.丰富的成员函数:std::string
提供了许多成员函数,用于执行各种字符串操作,如查找、替换、连接、比较等。
5.迭代器支持:std::string
支持迭代器,可以使用STL算法对字符串进行操作。
std::string
的常见用法:
1.字符串操作:使用std::string
进行字符串的创建、修改和操作。
2.字符串连接:使用+
运算符或append
成员函数将多个字符串连接起来。
3.字符串搜索:使用find
、rfind
、find_first_of
、find_last_of
等成员函数在字符串中搜索子串。
4.字符串比较:使用==
、!=
、<
、>
等运算符比较两个字符串。
5.字符串转换:使用to_string
、stoi
、stol
、stoll
等函数进行字符串与数值之间的转换。
std::string
的经典C++用法:
在C++中,std::string
是标准模板库(STL)中的一个类,用于表示和操作字符串。std::string
提供了丰富的功能来处理文本数据,包括字符串的创建、修改、搜索、比较和转换等操作。以下是一些std::string
的常见用法和操作示例:
创建和初始化字符串
#include <iostream>
#include <string>
int main() {
// 使用默认构造函数创建空字符串
std::string str1;
// 使用字符串字面量初始化字符串
std::string str2 = "Hello, World!";
// 使用C风格字符串初始化字符串
const char* cstr = "Hello, C++!";
std::string str3(cstr);
// 使用另一个字符串初始化字符串
std::string str4(str2);
// 使用字符串字面量的子串初始化字符串
std::string str5(str2, 7, 5); // 从位置7开始的5个字符
// 使用迭代器范围初始化字符串
std::string str6(str2.begin() + 7, str2.end());
// 输出字符串
std::cout << "str1: " << str1 << std::endl;
std::cout << "str2: " << str2 << std::endl;
std::cout << "str3: " << str3 << std::endl;
std::cout << "str4: " << str4 << std::endl;
std::cout << "str5: " << str5 << std::endl;
std::cout << "str6: " << str6 << std::endl;
return 0;
}
字符串修改
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, World!";
// 插入字符
str.insert(7, ", ");
// 替换子串
str.replace(7, 5, "C++");
// 删除子串
str.erase(7, 5);
// 清空字符串
str.clear();
// 输出修改后的字符串
std::cout << "Modified string: " << str << std::endl;
return 0;
}
字符串搜索
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, World!";
// 查找子串
size_t pos = str.find("World");
// 查找子串的逆序
size_t rpos = str.rfind("World");
// 查找字符
size_t cpos = str.find('W');
// 查找字符的逆序
size_t rcpos = str.rfind('W');
// 输出搜索结果
std::cout << "Position of 'World': " << pos << std::endl;
std::cout << "Reverse position of 'World': " << rpos << std::endl;
std::cout << "Position of 'W': " << cpos << std::endl;
std::cout << "Reverse position of 'W': " << rcpos << std::endl;
return 0;
}
字符串比较
#include <iostream>
#include <string>
int main() {
std::string str1 = "Hello, World!";
std::string str2 = "Hello, C++!";
// 比较两个字符串
if (str1 == str2) {
std::cout << "str1 and str2 are equal." << std::endl;
} else {
std::cout << "str1 and str2 are not equal." << std::endl;
}
// 使用比较运算符
if (str1 < str2) {
std::cout << "str1 is less than str2." << std::endl;
} else if (str1 > str2) {
std::cout << "str1 is greater than str2." << std::endl;
} else {
std::cout << "str1 is equal to str2." << std::endl;
}
return 0;
}
字符串转换
#include <iostream>
#include <string>
#include <sstream>
int main() {
std::string str = "123";
int num;
// 将字符串转换为整数
std::istringstream iss(str);
iss >> num;
// 输出转换后的整数
std::cout << "Integer: " << num << std::endl;
return 0;
}
字符串连接
#include <iostream>
#include <string>
int main() {
std::string str1 = "Hello, ";
std::string str2 = "World!";
// 使用+运算符连接字符串
std::string str3 = str1 + str2;
// 使用append成员函数连接字符串
str1.append(str2);
// 输出连接后的字符串
std::cout << "Concatenated string: " << str3 << std::endl;
std::cout << "Concatenated string: " << str1 << std::endl;
return 0;
}
以上代码展示了std::string
的一些常见用法,包括创建和初始化字符串、修改字符串、搜索字符串、比较字符串、转换字符串以及连接字符串。std::string
类提供了非常丰富的功能,使得字符串操作变得非常方便和强大。在实际编程中,可以根据需要选择合适的方法来处理字符串。
原文地址:https://blog.csdn.net/m0_74000148/article/details/137478893
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!