cin,get,getline
2024-10-21 17:45:43
一、cin
1.cin使用空白(空格、制表符和换行符)来确定字符串结束的位置,并且对于换行符,cin会把换行符留在输入队列。cin读取字符串放到数组中,并自动在结尾添加空字符。
例如:
char name[];
cin>>name; 输入:David Smith
cin只会把David放到name数组中并添加空字符'\0'
cout << "What year was your house built?\n";
int year;
cin >> year;
// cin.get();
cout << "What is its street address?\n";
char address[];
cin.getline(address, );
cout << "Year built: " << year << endl;
cout << "Address: " << address << endl;
cout << "Done!\n";
// cin.get();
return ;
输入: 如果没有cin.get(),cin>>year会把换行符留在输入队列,则cin.getline会把读取换行符并丢弃掉,address字符串为空
2.发送给cin的输入被缓冲,只有用户按下回车键后,输入的内容才会发送给程序。
char ch;
int count = ; // use basic input
cout << "Enter characters; enter # to quit:\n";
cin >> ch; // get a character
while (ch != '#') // test the character
{
cout << ch; // echo the character
++count; // count the character
cin >> ch; // get the next character
}
cout << endl << count << " characters read\n";
输入:
see ken run#really fast
输出:
seekenrun cin忽略空格和换行符,所以输入的空格没有回显;发送给cin的输入被缓冲,所以输入#后,后面还可以输入其他字符;
二、cin.getline()
getline 读取一行字符串,直到到达换行符,随后getline将丢弃换行符。
三、cin.get()
1.cin.get(str,num)
读取一行字符串,直到到达换行符,将换行符保留到输入序列中。
2.cin.get(char) 读取一个字符
cin.get(ch)读取输入中的下一个字符(包括空格和换行符),但输入仍被缓冲。
3.cin.get() 读取缓冲区的一个字符,返回值为char。
最新文章
- 2017-1-5 天气雨 React 学习笔记
- JavaScript权威指南 - 数组
- json,pickle
- Android -- View setScale, setTranslation 对View矩阵的处理
- Revit如何修改云线批注外观
- JAVA中生成Excel方法
- 两个有用的shell工具总结
- 要后台控制前台的的CSS样式,我们可以加入ASP.NET Literal 控件
- WIN2003跳出res://C:WINDOWSsystem32mys.dll/mys.hta解决方法
- JavaScript 函数的执行过程
- 使用kd-tree加速k-means
- 函数可以作为Javascript对象(哈希表)的键吗
- as 快捷键
- 梅安森元图地图开放平台、专业GIS地图平台
- 雷林鹏分享:CodeIgniter常用的数据库操作类
- Android自定义View之上拉、下拉列表 头部元素跟随 缩放、平移效果的实现
- 快速排序 java详解
- 【PAT】B1068 万绿丛中一点红(20 分)
- iview的Affix插件遇到滚动时候的bug处理方法
- [.net 多线程]SpinWait