c++ - 在 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;
}```
解决方案
尝试使用这个:
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";
推荐阅读
- django - 部署 django 后无法访问 phpmyadmin
- javascript - 如何在 Angular 7 中同步运行 2 个语句?
- text - utf-8 编码、zlib 压缩的 UUID 列表的空间最佳格式
- ios - 如何强制 Crashlytics 上传报告并等待
- javascript - 当我将刷新率设置为 0.01 秒时,从数据库获取数据而不刷新页面会出现 500 内部服务器错误
- python - 在python中读取没有openCV的视频文件
- flutter - TextFormField 字符限制不起作用
- matlab - MATLAB 使用 vpa() 时 mod() 的奇怪行为
- python - 如何优化 Python 中嵌套到平面级字典的转换?
- java - 如何在iText7中将背景颜色应用于带有圆角的表格单元格?