这篇文章主要介绍了c++中cin实现输入字符串方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
c++ cin如何输入字符串
1、cin
cin会过滤掉不可见字符(如空格、回车、tab等)。
如果不想略过空白字符,可以使用noskipws流控制。
cin>>noskipws>>input[i]2、cin.get()
cin.get()可以用来接收字符
cin.get(字符数组名,接收字符数目)用来接收一行字符串,可以接收空格。
char a[20];
cin.get(a,20);
cout<<a<<endl;cin.get()默认接收一个字符,以tab键、space键和enter键结束。
3、cin.getline()
接收一个字符串,可以接收空格并输出
cin.getline(m,5)接收5个字符到m中,其中最后一个为‘\0’,所以只看到4个字符输出。
4、getline()
接收一个字符串,可以接收空格并输出,需包含#include
getline(cin,str);c++ cin输入 不定长输入
C++ 不定长输入,保存进数组,并打印
#include<iostream>
#include<vector>
using namespace std;
int main() {
vector<int> arr;
int i;
do {
cin >> i;
arr.emplace_back(i);
} while (cin.get() != '\n');
for (auto it = arr.begin(); it != arr.end(); it++) {
cout << *it << " ";
}
cout << endl;
return 0;
}输出
1 2 3 4 5 6 7
1 2 3 4 5 6 7
cin.get()获取输入一个字符,包含空格或换行等特殊字符,cin自动忽视空格或换行等特殊字符,cin读取一个个数字,cin.get()读取空格...以此交叉读取。
#include<iostream>
#include<vector>
using namespace std;
int main() {
vector<int> arr;
int i;
while (cin.get() != '\n') {
cin >> i;
arr.emplace_back(i);
}
for (auto it = arr.begin(); it != arr.end(); it++) {
cout << *it << " ";
}
cout << endl;
return 0;
}输出
1 2 3 4 5 6 7
2 3 4 5 6 7
cin.get()读取第一个数字,cin忽视第一个空格读取第二个数字,cin.get()读取第二个空格...以此交叉读取,因此第一个数字1没被cin读取。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程学习网。
本文标题为:c++中cin实现输入字符串方式
- Qt计时器使用方法详解 2023-05-30
- c++ const 成员函数,返回一个 const 指针.但是返回的指针是什么类型的 const? 2022-10-11
- Easyx实现扫雷游戏 2023-02-06
- C++ 数据结构超详细讲解顺序表 2023-03-25
- 详解C语言中sizeof如何在自定义函数中正常工作 2023-04-09
- C语言手把手带你掌握带头双向循环链表 2023-04-03
- ubuntu下C/C++获取剩余内存 2023-09-18
- 我应该为我的项目使用相对包含路径,还是将包含目录放在包含路径上? 2022-10-30
- C语言qsort()函数的使用方法详解 2023-04-26
- C语言详解float类型在内存中的存储方式 2023-03-27
