【发布时间】:2021-05-13 01:00:10
【问题描述】:
** 我目前想使用整个字符串,它应该在它们之间包含空格,所以我使用 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;
}```
【问题讨论】:
-
在分配字符串之前,打印
m的长度,然后再次查看您的代码。 -
您的输入是否至少有 16 个字符?否则会抛出异常。
-
@molbdnilo 输入是“12:00 AM 11:23 PM”
-
如果您验证,例如使用
cout << '|' << m << '|' << endl;,您确实阅读了您认为自己阅读的内容,您很可能会注意到该字符串为空,这是因为this。 -
@molbdnilo 那我能做什么
标签: c++ string function substr