C++中string用法
时间: 2024-10-08 08:00:28 浏览: 34
在C++中,`std::string`是一个非常常用的数据类型,它代表字符串。它是C++标准库中的类,用于处理字符序列。以下是`std::string`的一些基本用法:
1. 创建字符串:你可以直接使用双引号创建一个字符串字面量,如`std::string str = "Hello World";`。也可以使用构造函数,如`str = std::string("Hello World");`。
2. 访问元素:通过索引来访问或修改单个字符,例如`str[0]`会返回第一个字符,`str[4]`则为"L"。
3. 长度操作:`str.length()` 或 `str.size()` 返回字符串长度。
4. 连接字符串:可以使用`+`运算符连接两个字符串,如`std::string s1 = "Hello"; std::string s2 = "World"; std::string combined = s1 + " " + s2;`
5. 插入、替换和删除字符:提供了一系列成员函数如`insert()`, `replace()`, 和 `erase()`来进行这些操作。
6. 索引操作:支持迭代器和范围基础for循环,如`for (char c : str) { /* do something */ }`。
7. 截取和查找:有`substr()`方法截取子串,`find()`和`rfind()`方法用于查找子串的位置。
相关问题
c++中string 的用法
以下是C++中string的常用用法:
1. 定义和初始化string变量
```c++
string str1; // 定义一个空字符串
string str2 = "hello"; // 定义并初始化一个字符串
string str3("world"); // 使用构造函数定义并初始化一个字符串
```
2. 字符串的拼接
```c++
string str4 = str2 + " " + str3; // 使用+运算符拼接字符串
str1.append(str2); // 使用append()函数将str2连接到str1的结尾
str1.append(str2, 2, 3); // 将str2从第2个字符开始的3个字符连接到str1的结尾
```
3. 字符串的查找和替换
```c++
int pos = str4.find("world"); // 查找子串"world"在str4中的位置
str4.replace(pos, 5, "there"); // 将str4中从pos开始的5个字符替换为"there"
int rpos = str4.rfind("e"); // 查找字符'e'在str4中最后一次出现的位置
```
4. 字符串的截取和转换
```c++
string str5 = str4.substr(6, 5); // 截取str4中从第6个字符开始的5个字符
const char* cstr = str5.c_str(); // 将string类型的str5转换为C风格的字符串
int num = stoi(str2); // 将字符串str2转换为整数类型
double dnum = stod(str3); // 将字符串str3转换为双精度浮点数类型
```
c++中stringstream的用法
C++ 中有 stringstream 类,用于将字符串转换为各种数据类型,例如整数、浮点数和布尔值等,并支持将这些数据类型转换回字符串。
使用 stringstream 类需要包含头文件 <sstream>。以下是 stringstream 的一些基本用法:
1. 将字符串转换为整数:
```c++
#include <sstream>
#include <string>
#include <iostream>
int main() {
std::string str = "123";
int num = 0;
std::stringstream ss(str);
ss >> num;
std::cout << num << std::endl; // 输出:123
return 0;
}
```
这里将字符串 "123" 转换为整数,并输出转换后的值 123。
2. 将整数转换为字符串:
```c++
#include <sstream>
#include <string>
#include <iostream>
int main() {
int num = 123;
std::stringstream ss;
ss << num;
std::string str = ss.str();
std::cout << str << std::endl; // 输出:123
return 0;
}
```
这里将整数 123 转换为字符串,并输出转换后的字符串 "123"。
3. 将字符串转换为浮点数:
```c++
#include <sstream>
#include <string>
#include <iostream>
int main() {
std::string str = "123.45";
float num = 0;
std::stringstream ss(str);
ss >> num;
std::cout << num << std::endl; // 输出:123.45
return 0;
}
```
这里将字符串 "123.45" 转换为浮点数,并输出转换后的值 123.45。
4. 将浮点数转换为字符串:
```c++
#include <sstream>
#include <string>
#include <iostream>
int main() {
float num = 123.45;
std::stringstream ss;
ss << num;
std::string str = ss.str();
std::cout << str << std::endl; // 输出:123.45
return 0;
}
```
这里将浮点数 123.45 转换为字符串,并输出转换后的字符串 "123.45"。
除此之外,stringstream 还有许多其他的用法,例如支持多种数据类型的同时转换,或者支持定制化的格式化等,可以参考相关文档进行深入学习。
阅读全文