C/C++編程筆記:getline()函數(shù)和字符數(shù)組

C ++?getline()是一個標準庫函數(shù),用于從輸入流中讀取字符串或行。它是<string>標頭的一部分。getline()函數(shù)從輸入流中提取字符,并將其附加到字符串對象,直到遇到定界字符。這樣做時,先前在字符串對象str中存儲的值將被輸入字符串替換(如果有)。

getline()函數(shù)可以兩種方式表示:
句法:
istream&getline(istream&is,string&str,char delim);
參數(shù):
is:它是istream類的對象,并告訴函數(shù)有關(guān)從何處讀取輸入流的流。
str:這是一個字符串對象,從流中讀取輸入后,將輸入存儲在此對象中。
delim:是分隔字符,它告訴函數(shù)在達到該字符后停止讀取進一步的輸入。
返回值:該函數(shù)返回相同的輸入流作為IS被接受為參數(shù)。
句法:
istream&getline(istream&is,string&str);
第二個聲明與第一個聲明幾乎相同。唯一的區(qū)別是,后者具有分隔符,默認情況下為新行(\ n)字符。
參數(shù):
是:它是istream類的對象,并告訴函數(shù)有關(guān)從何處讀取輸入流的流。
str:這是一個字符串對象,從流中讀取輸入后,將輸入存儲在此對象中。
返回值:該函數(shù)返回相同的輸入流作為IS被接受為參數(shù)。
下面的程序演示了getline()函數(shù)的工作:

示例2:我們可以使用getline()函數(shù)根據(jù)字符分割句子。

警告:此函數(shù)將換行符或('\ n')字符視為分隔符,并且換行符是該函數(shù)的有效輸入。
在C ++中,流類支持面向行的函數(shù)getline()和write()分別執(zhí)行輸入和輸出函數(shù)。getline()函數(shù)讀取以新行結(jié)尾或直到達到最大限制的整行文本。getline()是istream類的成員函數(shù),語法如下:
//(緩沖區(qū),stream_size,定界符)istream&getline(char *,int size,char ='\ n')//分隔符被視為'\ n'istream&getline(char *,int size)
該功能執(zhí)行以下操作:
1.提取字符直至分隔符。
2.將字符存儲在緩沖區(qū)中。
3.提取的最大字符數(shù)為大小–1。
請注意,終止符(或定界符)可以是任何字符(例如'',','或任何特殊字符等)。讀取終止符,但不將其保存到緩沖區(qū)中,而是將其替換為空字符。

在上面的程序中,語句cin.getline(str,20)讀取一個字符串,直到遇到換行符或最大字符數(shù)(此處為20)。嘗試使用具有不同限制的功能,然后查看輸出。
本期的知識分享就到這里了,希望對大家有幫助~
另外如果你想更好的提升你的編程能力,學(xué)好C語言C++編程!彎道超車,快人一步!筆者這里或許可以幫到你~

UP在主頁上傳了一些學(xué)習(xí)C/C++編程的視頻教程,有興趣或者正在學(xué)習(xí)的小伙伴一定要去看一看哦!會對你有幫助的~
分享(源碼、項目實戰(zhàn)視頻、項目筆記,基礎(chǔ)入門教程)
歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長比自己琢磨更快哦!
編程學(xué)習(xí)書籍分享:

編程學(xué)習(xí)視頻分享:
