cin.getline()方法連續(xù)地從用戶終端接受字符,并將字符存入字符型數(shù)組message中,直到輸入了(maxchars-1)個(gè)字符(第maxchars個(gè)字符用來(lái)存儲(chǔ)字符串結(jié)尾的NULL字符'\0')或者接受到了回車為止,這終端鍵入回車鍵產(chǎn)生一個(gè)換行'\n',它被cin.getline()認(rèn)為是行輸入結(jié)尾。cin.getline()獲得的字符(除了換行符外)被存儲(chǔ)到message數(shù)組中。在返回之前,cin.getline()函數(shù)在存儲(chǔ)的這些字符后面添加一個(gè)NULL字符'\0'。
Cin.ignore()方法cin.ignore( 5, 'c' ) 的是從輸入流(cin)中提取字符,提取的字符被忽略(ignore),不被使用。每拋棄一個(gè)字符,它都要計(jì)數(shù)和比較字符:如果計(jì)數(shù)值達(dá)到5或者被拋棄的字符是'c',則cin.ignore() 函數(shù)執(zhí)行終止;否則,它繼續(xù)等待。 它的一個(gè)常用功能就是用來(lái)清除以回車結(jié)束的輸入緩沖區(qū)的內(nèi)容,消除上一次輸入對(duì)下一次輸入的影響。比如可以這么用:cin.ignore( 1024, '\n' );,通常把第一個(gè)參數(shù)設(shè)置得足夠大,這樣實(shí)際上總是只有第二個(gè)參數(shù) '\n' 起作用,所以這一句就是把回車(包括回車)之前的所以字符從輸入緩沖(流)中清除出去。
Cin.clear用法如果輸入發(fā)生錯(cuò)誤發(fā)生,那么流狀態(tài)既被標(biāo)記為錯(cuò)誤,你必須清除這些錯(cuò)誤狀態(tài),以使你的程序能正確適當(dāng)?shù)乩^續(xù)運(yùn)行。要清除錯(cuò)誤狀態(tài),需使用clear()函數(shù)。此函數(shù)帶一個(gè)參數(shù),它是你將要設(shè)為當(dāng)前狀態(tài)的標(biāo)志值。,只要將ios::goodbit作為實(shí)參