解决常见情况下C++终端输入问题
2021/9/9 11:04:21
本文主要是介绍解决常见情况下C++终端输入问题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
解决常见情况下C++终端输入问题
在ACM进行编程时候,需要自己输入数据,下面介绍输入情况,能满足绝大多数输入情况
空格间隔
需要输入长度
int main() { int N; cin >> N; vector<int> data(N); for(int i = 0; i < N; ++i) { cin >> data(N); } return 0; }
二维数组也是如此
没有设定长度
int main() { string str; stringstream ss; getline(cin, str, '\n'); ss << str; // 把字符串给数据流 vector<int> data; while(getline(ss, str, ' ')) { data.push_back(stoi(str)); } return 0; }
多行输入,外部嵌套个循环即可。
符号‘,’间隔
简单输入
有无长度参照上面的情况,简单举个例子
int main() { int N; cin >> N; cin.get(); // 先使用cin,后面跟随getline需要先把回车\n消掉,才能读取下一行 vector<int> data(N); string str; stringstream ss; getline(cin, str, '\n'); ss << str; // 把字符串给数据流 while(getline(ss, str, ',')) { data.push_back(stoi(str)); } return 0; }
多维数组直接稍微扩展一下即可解决
循环输入
string k; int n; cin >> n; // 输入行数 cin.get(); // 去除cin的回车 while (n--) { getline(cin, k, '\n'); stringstream ss; ss << k; string str; while (getline(ss, str, ',')) { cout << str << endl; } }
这篇关于解决常见情况下C++终端输入问题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-04el-table 开启定时器下,表格的选中状态会消失是什么原因-icode9专业技术文章分享
- 2024-10-03如何安装和初始化飞牛私有云 fnOS?-icode9专业技术文章分享
- 2024-10-03如何安装 App 并连接到飞牛 NAS?-icode9专业技术文章分享
- 2024-10-03如何安装飞牛 TV 并连接到影视服务器?-icode9专业技术文章分享
- 2024-10-03如何在PVE和ESXI上安装飞牛私有云 fnOS?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS安装系统异常情况处理-icode9专业技术文章分享
- 2024-10-03飞牛NAS如何创建存储空间?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS硬盘会自动休眠吗?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS如何安装飞牛影视和创建媒体库?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS如何为家人朋友开通影视账号?-icode9专业技术文章分享