C++提供了多种字符串输入方法:
本贴将讨论 cin、cin.get()、cin.getline()三种
cin是 istream 类 对象
cin.get() 和 cin.getline() 是 istream 提供的类成员函数
区别:
cin
cin 通过空白(空格、制表符、换行符)确定字符串结束位置
重点:但是 cin 会从第一个字符串开始读取
特例:当存在多个(大于或等于两个) cin输入时 前一个cin输入后的空白(空格、制表符、换行符)将被跳过
不会成为第二个 cin 待插入值
例子:
int main(void)
{
char str1,str2; //创建两个string变量(对象)
cout<<"Enter str1:";
cin>>str1;
cout<<"Enter str2:";
cin>>str2;
cout<<str1<<endl;
cout<<str2<<endl;
return 0;
}
输出:
第一次输入的str1按下Enter留下的换行并没有成为str2的值 而是自动忽略
cin.get()和 cin.getline()
cin.get() 和 cin.getline() 是 istream的类成员函数 作用是 读取一行的内容
但二者有一定区别:
cin.get() 会将一行结束的换行符 存入输入队列
cin.geline()会将换行符 丢弃 不存入输入队列
并且都会在函数末尾添加‘\0
两函数都提供同样的参数