C++中cin.getline()和getline()函數(shù)的區(qū)別小結(jié)
前言
C++輸入過程中,是把輸入加載到緩沖區(qū)中,然后對緩沖區(qū)中的字符進行讀取。cin,cin.get(),cin.getline()三個函數(shù)雖然都可以進行舒服讀取,但是它們對緩沖區(qū)內(nèi)的數(shù)據(jù)處理方法是不同的(如遇到【space】、【enter】的處理方法)。本文簡單介紹cin.getline()和getline()函數(shù)的區(qū)別。
cin.getline():
用法:接收一個字符串,可以接收空格并輸出,需包含#include< cstring >
char m[20]; cin.getline(m,5); cout<<m<<endl;
輸入:jkljkljkl
輸出:jklj
接收5個字符到m中,其中最后一個為'\0',所以只看到4個字符輸出;
延伸:
1、cin.getline()實際上有三個參數(shù),cin.getline(接收字符串的變量,接收字符個數(shù),結(jié)束字符)
2、當?shù)谌齻€參數(shù)省略時,系統(tǒng)默認為'\0'
3、如果將例子中cin.getline()改為cin.getline(m,5,‘a(chǎn)');當輸入jlkjkljkl時輸出jklj,輸入jkaljkljkl時,輸出jk
getline():
getline()函數(shù)是一個比較常見的函數(shù)。根據(jù)名字直接望文生義,就知道這個函數(shù)是來完成讀入一行數(shù)據(jù)。
getline是C++標準庫函數(shù);但不是C標準庫函數(shù),getline會生成一個包含一串從輸入流讀入的字符的字符串,直到以下情況發(fā)生會導致生成的此字符串結(jié)束。1)到文件結(jié)束,2)遇到函數(shù)的定界符,3)輸入達到最大限度。
用法:接收一個字符串,可以接收空格并輸出,需包含#include< cstring >
string str; getline(cin,str); cout<<str<<endl;
輸入:jkljkljkl
輸出:jkljkljkl
輸入:jkl jfksldfj jklsjfl
輸出:jkl jfksldfj jklsjfl
總結(jié)
到此這篇關(guān)于C++中cin.getline()和getline()函數(shù)區(qū)別的文章就介紹到這了,更多相關(guān)C++ cin.getline()和getline()函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語言數(shù)據(jù)結(jié)構(gòu)與算法之圖的遍歷(二)
這篇文章主要是介紹了利用廣度優(yōu)先算法實現(xiàn)圖的遍歷,文中利用圖文詳細的介紹了實現(xiàn)步驟,對我們學習數(shù)據(jù)結(jié)構(gòu)與算法有一定的幫助,需要的朋友可以參考一下2021-12-12
C++如何比較兩個字符串或string是否相等strcmp()和compare()
這篇文章主要介紹了C++如何比較兩個字符串或string是否相等strcmp()和compare()問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11
Qt顯示QImage圖像在label上,并保持自適應大小問題
這篇文章主要介紹了Qt顯示QImage圖像在label上,并保持自適應大小問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11
Linux?C/C++實現(xiàn)顯示NIC流量統(tǒng)計信息
NIC流量統(tǒng)計信息是由操作系統(tǒng)維護的,當數(shù)據(jù)包通過NIC傳輸時,操作系統(tǒng)會更新相關(guān)的計數(shù)器,通過讀取這些計數(shù)器,我們可以獲得關(guān)于網(wǎng)絡(luò)流量的信息,下面我們就來學習一下如何通過C/C++實現(xiàn)顯示NIC流量統(tǒng)計信息吧2024-01-01
C語言利用goto語句設(shè)計實現(xiàn)一個關(guān)機程序
今天給大家分享一個非常有趣的知識——用goto語句編寫一個關(guān)機小程序。主要用到了shutdown命令語句、goto語句、strcmp函數(shù)等知識點,感興趣的可以了解一下2023-01-01

