C++删除除前导和尾部外所有*号 怎么去除尾部的啊

img


#include <iostream>
#define DEBUG
using namespace std;

int main(void)
{
    string s;
    bool flag = true;
    int ith = 0;
    cin >> s;

    // 获取最后一位不是*的位置
    for (int i = s.length() - 1; i >= 0; i--)
    {
        if (s[i] != '*')
        {
            ith = i;
            break;
        }
    }

    for (int i = 0; i < s.length(); i++)
    {
        if (s[i] == '*')
        {
            if (flag || i >= ith)
                cout << s[i];
        }
        else
        {
            flag = false;
            cout << s[i];
        }
    }
    cout << endl;
    return 0;
}

这是具体的代码,如果哪里不清楚可以问,望采纳,谢谢!