Lỗi out of range

#include <iostream>
#include <string>

using namespace std;

int main()
{
    string st;
    
    cin >> st;
    
    for (int i = 0; i < st.length(); i++)
    {
        for (int j = 0; j < i; j++) 
        {
            st.substr(st[j], st[i]);
            cout << st << endl;
        }
    }
    
    return 0;
}

Source code trên dùng để đưa ra tất cả các xâu con liên tiếp của xâu st (VD: tin (t,i,n,ti,in,tin). Mọi người giúp em với ạ, em bị lỗi out of range chỗ ‘substr’ mà sửa lỗi hoài không được. Em cảm ơn nhiều !

Phải là st.substr(j, i) chứ nhỉ.

3 Likes

cảm ơn bạn, mình sửa được rồi ^^

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?