C ++ getline()是一個標準庫函數,用於從輸入流中讀取字符串或行。它是<string>標頭的一部分。getline()函數從輸入流中提取字符,並將其附加到字符串對象,直到遇到定界字符。這樣做時,先前在字符串對象str中存儲的值將被輸入字符串替換(如果有)。
getline()函數可以兩種方式表示:
句法:
istream&getline(istream&is,string&str,char delim);
參數:
is:它是istream類的對象,並告訴函數有關從何處讀取輸入流的流。
str:這是一個字符串對象,從流中讀取輸入後,將輸入存儲在此對象中。
delim:是分隔字符,它告訴函數在達到該字符後停止讀取進一步的輸入。
返回值:該函數返回相同的輸入流作為IS被接受為參數。
句法:
istream&getline(istream&is,string&str);
第二個聲明與第一個聲明幾乎相同。唯一的區別是,後者具有分隔符,默認情況下為新行(\ n)字符。
參數:
是:它是istream類的對象,並告訴函數有關從何處讀取輸入流的流。
str:這是一個字符串對象,從流中讀取輸入後,將輸入存儲在此對象中。
返回值:該函數返回相同的輸入流作為IS被接受為參數。
下面的程序演示了getline()函數的工作:
示例2:我們可以使用getline()函數根據字符分割句子。
警告:此函數將換行符或('\ n')字符視為分隔符,並且換行符是該函數的有效輸入。
在C ++中,流類支持面向行的函數getline()和write()分別執行輸入和輸出函數。getline()函數讀取以新行結尾或直到達到最大限制的整行文本。getline()是istream類的成員函數,語法如下:
//(緩衝區,stream_size,定界符)istream&getline(char *,int size,char ='\ n')//分隔符被視為'\ n'istream&getline(char *,int size)
該功能執行以下操作:
1.提取字符直至分隔符。
2.將字符存儲在緩衝區中。
3.提取的最大字符數為大小–1。
請注意,終止符(或定界符)可以是任何字符(例如'',','或任何特殊字符等)。讀取終止符,但不將其保存到緩衝區中,而是將其替換為空字符。
在上面的程序中,語句cin.getline(str,20)讀取一個字符串,直到遇到換行符或最大字符數(此處為20)。嘗試使用具有不同限制的功能,然後查看輸出。
本期的知識分享就到這裡了,希望對大家有幫助~
另外如果你想更好的提升你的編程能力,學好C語言C++編程!彎道超車,快人一步!筆者這裡或許可以幫到你~
C語言C++編程學習交流圈子,QQ群【464501141】
分享(源碼、項目實戰視頻、項目筆記,基礎入門教程)
歡迎轉行和學習編程的夥伴,利用更多的資料學習成長比自己琢磨更快哦!
編程學習書籍分享:
編程學習視頻分享: