請問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;
}