首页 > 解决方案 > 在 C++ 中使用字符串函数时,使用 substr() 函数终止

问题描述

** 我目前想使用整个字符串,它应该在它们之间包含空格,所以我使用 getline() 函数但是在代码 getline() 之后我的代码被终止,我不知道为什么会发生这种情况**


using namespace std;

int main()
{
    int t;
    cin >> t;
    while (t--)
    {
        
        int n;
        cin >> n;
        while (n--)
        {
            string m;
            getline(cin, m);
            string s1 = m.substr(1);
            string s2 = m.substr(6);
            string s3 = m.substr(9);
            string s4 = m.substr(15);
            cout << s1 << s2 << s3 << s4 << endl;
        }

    }
    return 0;
}```

标签: c++stringfunctionsubstr

解决方案


尝试使用这个:

char input[100];
cin.getline(input, sizeof(input));
string str = input;
cout << str.substr(1) << " " << str.substr(6) << " " << str.substr(9) << " " << 
str.substr(15) << "\n";

推荐阅读