用C++语言,采用顺序存储方式存储串,编写函数,在串str1中的指定下标i处截取指定长度len,赋给串str2,同时也输出截断后的串str1。
时间: 2024-10-15 09:20:47 浏览: 18
在C++中,我们可以使用`std::string`类,它提供了方便的操作字符串的方法。这里是一个简单的示例,展示了如何使用顺序存储方式(即字符数组)来实现这个功能:
```cpp
#include <iostream>
#include <cstring>
void substring(std::string& str1, int i, int len, std::string& str2) {
// 检查索引是否有效
if (i < 0 || i + len > str1.length()) {
std::cerr << "Invalid index or length!" << std::endl;
return;
}
// 截取并赋值给str2
str2 = str1.substr(i, len);
// 输出截断后的str1
std::cout << "Original string after truncation: " << str1 << std::endl;
// 如果需要,也可以直接输出str2
std::cout << "Substring assigned to str2: " << str2 << std::endl;
}
int main() {
std::string str1 = "Hello, World!";
int i = 7; // 截取的位置
int len = 5; // 截取的长度
std::string str2;
substring(str1, i, len, str2);
return 0;
}
```
在这个函数中,我们首先检查索引是否合法,然后使用`substr`方法从原字符串中提取指定范围的子串,并将其赋值给目标字符串`str2`。最后,我们会打印出原始字符串以及截取后的结果。
阅读全文