停止擷取字元,字串結束字元與enter鍵字元.
- Nov 28 Mon 2016 21:57
c++ 執行cin.get() , cin.getline()的三個特殊字元
- Nov 28 Mon 2016 18:15
c++ 第一次以cin.get(array , n , 'ch')擷取字元 , 並第二次以cin.get(array , n , 'ch')或cin.getline(array , n , 'ch')擷取字元 ,其 第一次停止擷取字元'ch'對輸出的影響
1.當兩次的擷取字串均使用相同的停止擷取字元'ch' ,且第一次以cin.get(array , n , 'ch')擷取字串後,其停止擷取字元'ch'將滯留在buffer內,以自動被第二次所擷取 ,因兩次均使用相同的停止擷取字元'ch' , 故第二次將同樣判定為停止擷取字元,而不再擷取字元 ,且因不再繼續擷取字元 ,故自動再將字串結束字元附加上.而enter鍵因在整個輸入字串最後一個字元(故同時也在停止擷取字元'ch'之後),故亦不擷取.使得第二次的儲存內容成為空字元.
- Nov 28 Mon 2016 17:28
c++ 第一次使用cin.get(array , n , 'ch')擷取字串 , 第二次使用cin>>擷取字串執行結果
第一次使用cin.get(array1 , n , 'ch')擷取字串 , 會將停止擷取字元'ch'滯留於buffer內 , 以讓下一個cin>>array2自動擷取 , 但第一次擷取結束後的enter鍵字元將被第二次的cin>>array2濾除掉而不被擷取.
- Nov 28 Mon 2016 14:50
c++ 第二次以ch=cin.get()擷取 與 cin.get(array , n , ' ch ')擷取之差異.
當兩次均使用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 ')任意剩餘的字元.???)
- Nov 28 Mon 2016 14:14
c++ cin.get(array,n,'ch') , 字元數n 與 停止擷取字元'ch'意義
- Nov 28 Mon 2016 10:37
c++ 第一次字串擷取cin.get(array,n,'ch) , 第二次字元擷取ch=cin.get() 輸出時,特殊字元執行結果.
- Nov 27 Sun 2016 23:15
c++ cin.getline與getline的特殊字元
cin.getline(array , n , 'ch' )與getline(string, n , 'ch' ) , 除了停止擷取字元'ch' 與字串結束字元'\0'之外,還有字串輸入結束的enter鍵'\n' , 但enter鍵'\n'僅在作為預設的停止擷取字元'ch'時才有效用.當以其他非enter鍵作為停止擷取字元時則無效.
- Nov 27 Sun 2016 18:40
c++ string 類別輸入字串使用的函式有cin>>st,getline(cin , st , 'ch') , 但似乎無get(cin , st)格式???
當string 類別物件第一次以cin>>輸入字串結束時,會在串流buffer區內滯留字串結束字元'\0',且不會自動移除捨去,當第二次使用getline(cin,st)函式讀取字串時,該滯留字串結束字元'\0'將自動被第二次getline(cin,st)函式接收,故須在第二次執行getline(cin,st)函式之前,使用get()函式先行吸收字串結束字元'\0',以避免第二次使用getline(cin,st)函式時的誤輸入.
int main(void)
- Nov 27 Sun 2016 18:05
c++ string 類別的字串結束符與c_type string字串相同為'\0' ???
- Nov 27 Sun 2016 09:42
c++ 資料型態轉換的格式