c++ 取得string的尾字符
时间: 2023-07-21 16:02:34 浏览: 48
在C++中,可以使用switch case语句来对字符串进行判断。首先需要将字符串转换为整数类型,可以使用以下方式:
1. 使用哈希表将字符串映射到整数,再使用switch语句判断整数值。
2. 使用库函数strcmp()将字符串与每个case语句的字符串进行比较,匹配成功则执行相应的语句。
例如:
```c++
string str = "apple";
int hashValue = hashFunc(str); // 假设使用哈希表映射为整数
switch (hashValue) {
case 1:
// do something
break;
case 2:
// do something
break;
default:
// do something
break;
}
```
或者:
```c++
string str = "apple";
switch (strcmp(str.c_str(), "apple")) {
case 0:
// do something
break;
case 1:
// do something
break;
default:
// do something
break;
}
```
相关问题
C++ string 获取字符串长度
可以使用C++中的`string`类来获取字符串长度,`string`类中提供了`length()`和`size()`两个函数来获取字符串长度,两个函数的用法是相同的,都可以返回字符串中字符的个数,包括空格在内。下面是一个例子:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "Hello World!";
int len = str.length(); // 或者使用 str.size();
cout << "字符串长度为:" << len << endl;
return 0;
}
```
输出结果为:
```
字符串长度为:12
```
C++ string 获取子字符串
在 C++ 中,可以使用 `substr()` 函数来获取一个字符串的子字符串。`substr()` 函数需要两个参数,第一个参数是子字符串的起始位置(从 0 开始计数),第二个参数是子字符串的长度。
以下是一个示例:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, world!";
std::string sub = str.substr(7, 5); // 从位置 7 开始,长度为 5 的子字符串
std::cout << sub << std::endl; // 输出 "world"
return 0;
}
```
注意,如果第二个参数(子字符串长度)被省略,则 `substr()` 函数将会返回从起始位置到字符串末尾的所有字符。例如:
```cpp
std::string sub = str.substr(7); // 从位置 7 开始,到字符串末尾的子字符串
```