c++输入一个字符串输出倒数第三个字符用string
时间: 2023-07-19 18:10:15 浏览: 345
可以使用 `string` 类型的 `substr()` 方法来获取一个字符串中的子串。例如,以下是一个示例代码,用于输入一个字符串并输出倒数第三个字符:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string str;
cout << "请输入一个字符串:";
cin >> str;
if (str.length() >= 3) {
string sub_str = str.substr(str.length() - 3, 1);
cout << "倒数第三个字符是:" << sub_str << endl;
} else {
cout << "字符串长度不足三个字符!" << endl;
}
return 0;
}
```
在上面的代码中,我们首先使用 `cin` 输入一个字符串,并且判断字符串长度是否大于等于 3。如果是,我们使用 `substr()` 方法来获取倒数第三个字符,然后输出结果;否则,我们输出一条错误信息。
相关问题
C++把一个字符串strfilename倒数十八位到倒数三位取出到字符串strpici里
可以使用 C++ 中的 `substr` 函数来实现:
```cpp
string strfilename = "这里是你的文件名字符串";
string strpici = strfilename.substr(strfilename.length() - 18, 15);
```
其中,`substr` 函数接受两个参数,第一个参数为子串的起始位置,第二个参数为子串的长度。因此,`strfilename.length() - 18` 表示起始位置为字符串 `strfilename` 的倒数第 18 个字符,而 `15` 则表示要取子串的长度。
需要注意的是,这里取的长度是 15,而不是 16。因为 `substr` 函数是从起始位置开始,向后取指定长度的子串,因此要减去起始位置的一个字符。
c++写一个,string,倒数找出,第二个_到第三个_之前的字符
在C++中,你可以使用`substr()`函数和数组索引来实现这个功能。假设你想找到从字符串中两个特定下划线 `_` 之间的字符,你需要遍历一次字符串,并记住上次看到下划线的位置。这里是一个简单的示例:
```cpp
#include <iostream>
#include <string>
std::string find_substring(const std::string& str) {
size_t start = -1; // 初始化开始位置为 -1 表示尚未找到第一个 _
for (size_t i = 0; i < str.length(); ++i) {
if (str[i] == '_') { // 找到下划线
if (start != -1) { // 如果找到了第一个_,记录位置
start = i;
} else {
continue; // 遇到第一个_,跳过直到找到第二个_
}
} else if (start != -1) { // 当前字符不是下划线,且我们已找到一个_
return str.substr(start + 1, i - start - 1); // 返回从第二个_到当前位置的子串
}
}
// 如果没有找到三个连续的下划线,返回空字符串
return "";
}
int main() {
std::string input = "a_b_c_d__e_f";
std::string result = find_substring(input);
if (!result.empty()) {
std::cout << "Substring between second and third underscore is: " << result << std::endl;
} else {
std::cout << "No substring found with two consecutive underscores." << std::endl;
}
return 0;
}
```
阅读全文