【发布时间】:2019-12-21 20:39:22
【问题描述】:
我正在尝试从字符串“000000”中找到长度均匀的子字符串。它工作正常,直到索引 2 之后它没有产生所需的输出。我的 IDE 在行显示异常未处理:str2=str1.substr(i,k );
#include <iostream>
#include<string>
using namespace std;
int main()
{
string str = "000000";
string str2, str1;
int i = 0;
while (i < str.length())
{
int k = 2;
str1 = str.substr(i);
cout << "\n new substring from " << i << " pos is ";
cout<<str1 << endl;
int len = str1.length();
cout << len << endl;
while (k <= len)
{
cout << "\n" << i << " " << k;
str2 = str1.substr(i, k);
cout << endl << str2;
k = k + 2;
str2.clear();
}
i++;
str1.clear();
}
}
【问题讨论】:
-
实际上我的意思是从那个特定的索引值取甚至更长的字符串。假设 Stirng 是 12345 从索引 0:12,1234 索引 1:23、2345 索引 2:34 索引 3:45 索引 4:没有什么是可能的 它们是上述可能的子字符串
标签: c++ string loops while-loop substring