C++ cin输入 不定长输入

C++ 不定长输入,保存进数组,并打印

复制代码
 1 #include<iostream>
 2 #include<vector>
 3 using namespace std;
 4 
 5 int main() {
 6     vector<int> arr;
 7     int i;
 8     do {
 9         cin >> i;
10         arr.emplace_back(i);
11     } while (cin.get() != '\n');
12     for (auto it = arr.begin(); it != arr.end(); it++) {
13         cout << *it << " ";
14     }
15     cout << endl;
16     return 0;
17 }
复制代码

输出

1 2 3 4 5 6 7
1 2 3 4 5 6 7

cin.get()获取输入一个字符,包含空格或换行等特殊字符,cin自动忽视空格或换行等特殊字符,cin读取一个个数字,cin.get()读取空格...以此交叉读取。

复制代码
 1 #include<iostream>
 2 #include<vector>
 3 using namespace std;
 4 
 5 int main() {
 6     vector<int> arr;
 7     int i;
 8     while (cin.get() != '\n') {
 9         cin >> i;
10         arr.emplace_back(i);
11     } 
12     for (auto it = arr.begin(); it != arr.end(); it++) {
13         cout << *it << " ";
14     }
15     cout << endl;
16     return 0;
17 }
复制代码

 

输出

1 2 3 4 5 6 7
2 3 4 5 6 7

cin.get()读取第一个数字,cin忽视第一个空格读取第二个数字,cin.get()读取第二个空格...以此交叉读取,因此第一个数字1没被cin读取。

posted @   hik_老鬼  阅读(227)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示