【问题标题】:Trying to find even length substrings from index 0 onwards尝试从索引 0 开始查找偶数长度的子字符串
【发布时间】: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


【解决方案1】:

好像是这样的说法

str2 = str1.substr(i, k);
                  ^^^ 

没有意义。

你是说

str2 = str1.substr(0, k);
                  ^^^

【讨论】:

    猜你喜欢
    • 2020-07-31
    • 2013-05-03
    • 1970-01-01
    • 2015-04-24
    • 1970-01-01
    • 2021-04-19
    • 2014-02-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多