停止擷取字元,字串結束字元與enter鍵字元.


minsin 發表在 痞客邦 留言(0) 人氣()

1.當兩次的擷取字串均使用相同的停止擷取字元'ch' ,且第一次以cin.get(array , n , 'ch')擷取字串後,其停止擷取字元'ch'將滯留在buffer內,以自動被第二次所擷取 ,因兩次均使用相同的停止擷取字元'ch' , 故第二次將同樣判定為停止擷取字元,而不再擷取字元 ,且因不再繼續擷取字元 ,故自動再將字串結束字元附加上.而enter鍵因在整個輸入字串最後一個字元(故同時也在停止擷取字元'ch'之後),故亦不擷取.使得第二次的儲存內容成為空字元. 


minsin 發表在 痞客邦 留言(0) 人氣()

 第一次使用cin.get(array1 , n , 'ch')擷取字串 , 會將停止擷取字元'ch'滯留於buffer內 , 以讓下一個cin>>array2自動擷取 , 但第一次擷取結束後的enter鍵字元將被第二次的cin>>array2濾除掉而不被擷取.


minsin 發表在 痞客邦 留言(0) 人氣()

當兩次均使用cin.get(array , n , ' ch ')以擷取字串時 , 第一次的停止擷取字元'ch'會捨去 , 不會滯留在串流buffer內,因此不會被存入第二次的擷取內.若第二次以ch=cin.get()擷取則會擷取前一個cin.get(array , n , ' ch ')任意剩餘的字元,(實際情況是否為第二個cin.get(array , n , ' ch ')不會擷取前一個cin.get(array , n , ' ch ')任意剩餘的字元.???)


minsin 發表在 痞客邦 留言(0) 人氣()

cin.get(array,n,'ch') , 字元數n表示存放在array最多為n個字元 , 並將超過n個字元以後的字元儲存於下一個變數暫存器

 

minsin 發表在 痞客邦 留言(0) 人氣()

輸入條件good teap

int main(void)

minsin 發表在 痞客邦 留言(0) 人氣()

 cin.getline(array , n , 'ch' )與getline(string, n , 'ch' ) , 除了停止擷取字元'ch' 與字串結束字元'\0'之外,還有字串輸入結束的enter鍵'\n' , 但enter鍵'\n'僅在作為預設的停止擷取字元'ch'時才有效用.當以其他非enter鍵作為停止擷取字元時則無效.


minsin 發表在 痞客邦 留言(0) 人氣()

當string 類別物件第一次以cin>>輸入字串結束時,會在串流buffer區內滯留字串結束字元'\0',且不會自動移除捨去,當第二次使用getline(cin,st)函式讀取字串時,該滯留字串結束字元'\0'將自動被第二次getline(cin,st)函式接收,故須在第二次執行getline(cin,st)函式之前,使用get()函式先行吸收字串結束字元'\0',以避免第二次使用getline(cin,st)函式時的誤輸入.

int main(void)

minsin 發表在 痞客邦 留言(0) 人氣()

例如輸入一個字串"one"給st,則輸出(int)st[3]=0

int main(void)

minsin 發表在 痞客邦 留言(0) 人氣()

格式1

int main(void)

minsin 發表在 痞客邦 留言(0) 人氣()

Close

您尚未登入,將以訪客身份留言。亦可以上方服務帳號登入留言

請輸入暱稱 ( 最多顯示 6 個中文字元 )

請輸入標題 ( 最多顯示 9 個中文字元 )

請輸入內容 ( 最多 140 個中文字元 )

reload

請輸入左方認證碼:

看不懂,換張圖

請輸入驗證碼