枚举出字符串的子串c++
时间: 2024-05-14 07:17:53 浏览: 188
C语言输出字符串的子串
以下是一个简单的 C++ 代码示例,用于枚举字符串的所有子串:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string s = "hello world";
int n = s.size();
for (int i = 0; i < n; i++) {
for (int j = 1; j <= n - i; j++) {
cout << s.substr(i, j) << endl;
}
}
return 0;
}
```
在上面的代码中,我们首先定义一个字符串 `s`,然后使用 `size()` 函数获取字符串的长度。接下来,我们使用两个嵌套的循环来枚举所有的子串。外层循环从字符串的第一个字符开始,内层循环从当前字符开始,枚举所有长度大于等于 1 且不超过剩余字符数的子串。我们使用 `substr()` 函数来获取子串,并将其输出到控制台。
例如,上面的代码将输出以下所有子串:
```
h
he
hel
hell
hello
hello
hello w
hello wo
hello wor
hello worl
hello world
e
el
ell
ello
ello
ello w
ello wo
ello wor
ello worl
ello world
l
ll
llo
llo
llo w
llo wo
llo wor
llo worl
llo world
l
lo
lo
lo w
lo wo
lo wor
lo worl
lo world
o
o
o w
o wo
o wor
o worl
o world
w
wo
wor
worl
world
```
阅读全文