C++版本
求一个字符串的所有子串的核心就是利用substr这个函数,所以一定要搞懂这个函数。第二个变量是偏移量。
下面是源码:
#include<iostream>
#include<string>
using namespace std;
void getAllSubstrings(string str)
{
if (str.length() == 0)
{
return;
}
else
{
for (int i = 0; i < str.length(); i++)
{
for (int j = 1; j < str.length() - i + 1; j++)
{
std::cout << str.substr(i, j) << std::endl;
}
}
}
}
int main()
{
string str;
while (cin)
{
cin >> str;
getAllSubstrings(str);
}
system("pause");
return 0;
}