请问cin.get()与cin.getline()有什么不同?
我查书上是写
get(str,MAX,DELIM)
用途:撷取字符到阵列 str 中,直到已经撷取了 MAX 个字符或分隔字符
出现为止,分隔字元会留在资料流中。
getline(str,MAX,DELIM)
用途:撷取字符到阵列 str 中,直到已经撷取了 MAX 个字符或分隔字符
出现为止,而且会撷取分隔字符。
什么时后该用 cin.get()
什么时后该用 cin.getline() 呢...?
写了个小程式来测试一下
#include <iostream>
using namespace std;
int main()
{
char a[20],b[20];
/* 执行ok
cin.getline(b,20);
cout<<b<<endl;
cin.get(a,20);
cout<<a<<endl;
*/
//会有问题
cin.get(a,20);
cout<<a<<endl;//以下被吃掉
cin.getline(b,20);
cout<<b<<endl;
return 0;
}