基本区别:
(1)cin
读取输入时,默认会跳过空格、换行符等空白字符
(2)cin.get()
不会跳过空格或换行符,而是逐字符地读取输入,包括空格。
代码实现:
(1)使用cin
核心代码:
cin>>char1;
完整代码:
#include<iostream>
using namespace std;
#include<algorithm>
#include<vector>
int main()
{
char char1;
int flag=1;
vector<char>arr;
while(flag==1)
{
cin>>char1;
if(char1=='@')//以空格作为输入结束的标志
{
flag=-1;
}
else{
arr.push_back(char1);
}
}
for(int i=0;i<arr.size();i++)
{
cout<<arr[i];
}
cout<<endl;
}
(2)使用cin.get()
核心代码:
cin.get(char1);
完整代码:
#include<iostream>
using namespace std;
#include<algorithm>
#include<vector>
int main()
{
char char1;
int flag=1;
vector<char>arr;
while(flag==1)
{
cin.get(char1);
if(char1=='@')//以空格作为输入结束的标志
{
flag=-1;
}
else{
arr.push_back(char1);
}
}
for(int i=0;i<arr.size();i++)
{
cout<<arr[i];
}
cout<<endl;
}
效果:
@作为输入字符的结束标志: