get()函数和getline()函数
相同点
他们都用于读入一行输入,直到遇到换行符*
不同点
getline()函数会丢弃换行符
而get()函数也将换行符存入C风格字符串中
#include "pch.h"
#include<iostream>
using namespace std;
int main()
{
char name[16];
char school[50];
cout << "请输入你的名字:" << endl;
cin.get(name, 16);//使用cin提供的get函数读取一串数据
cin.get();//读取数据流的换行符
cout << "请输入你的学校的名字:" << endl;
cin.getline(school, 50);//使用getline函数读取一串字符
cout << "你的名字是:" << name << endl;
cout << "你在这所学校:" << school << endl;
return 0;
}
"cin.getline(school,50)"
- getline()函数有两个参数,一是字符数组名,另一个是要读取的字符数。
如果这个参数为50,那么函数最多读取49个字符,保留的一个空间用于存储自动在末尾添加的空字符‘\n’,在读取指定数目的字符(第二参数减1),或者是遇到换行符后,getline()函数停止读取。
"cin.get(name,16)"
- getline()在遇到换行符时,将换行符从输入队伍中提取出来,抛弃掉,而get()函数不再提取并抛弃换行符,仍将其留在输入队伍中,所以代码中“cin.get()”不可缺少。
cin.get(数组名,数组大小);
cin.get()
等于
cin.getline(数组名,数组大小)
等于
cin.get(数组名,数组大小).get()
零基础学C++ 李宽
网友评论