close
int main()
{
char ch1;
char array1[20];
char array2[20];
cin>>ch1;
cin.get(array1,20,'g');
cin>>array2;
例如輸入a(enter鍵)
tyg(enter鍵),則輸出
ch1=a,
(int)array1[0]=10 //第一次enter鍵字符.
array1[1]=t
array1[2]=y
(int)array1[3]=0 //以get()函式擷取字串,因此加上字串結束符'\0'
arry2[0]=g //因第二次以get()函式執行,故其設定的停止擷取鍵'g'被滯留在buffer內,並接著被第三次cin>>array2;擷取
(int)array2[1]=0 字串結束符??????
第一次執行擷取結束的enter鍵字元,滯留在buffer內,並被第二次get()函式擷取.
因第二次以get()函式執行,故其設定的停止擷取鍵'g'則被滯留在buffer內,並接著被第三次cin>>array2;擷取(若第二次以getline()執行時,滯留在buffer內停止擷取鍵'p'則被捨棄).
且第二次停止擷取鍵'g'之後的enter鍵字元不被擷取.並在最後加上字串結束符'\0'.
全站熱搜