欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

cin.get()和cin.getline()之間的區(qū)別

 更新時(shí)間:2013年09月23日 08:42:13   作者:  
以下是對(duì)cin.get()和cin.getline()的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助

cin.getline()和cin.get()都是對(duì)輸入的面向行的讀取,即一次讀取整行而不是單個(gè)數(shù)字或字符,但是二者有一定的區(qū)別。

cin.get()每次讀取一整行并把由Enter鍵生成的換行符留在輸入隊(duì)列中,比如:

復(fù)制代碼 代碼如下:

#include <iostream>
using std::cin;
using std::cout;
const int SIZE = 15;
int main( ){
cout << "Enter your name:";
char name[SIZE];
cin.get(name,SIZE);
cout << "name:" << name;
cout << "\nEnter your address:";
char address[SIZE];
cin.get(address,SIZE);
cout << "address:" << address;
}

輸出:
Enter your name:jimmyi shi
name:jimmyi shi
Enter your address:address:

在這個(gè)例子中,cin.get()將輸入的名字讀取到了name中,并將由Enter生成的換行符'/n'留在了輸入隊(duì)列(即輸入緩沖區(qū))中,因此下一次的cin.get()便在緩沖區(qū)中發(fā)現(xiàn)了'/n'并把它讀取了,最后造成第二次的無(wú)法對(duì)地址的輸入并讀取。解決之道是在第一次調(diào)用完cin.get()以后再調(diào)用一次cin.get()把'/n'符給讀取了,可以組合式地寫為cin.get(name,SIZE).get();。

cin.getline()每次讀取一整行并把由Enter鍵生成的換行符拋棄,如:

復(fù)制代碼 代碼如下:

#include <iostream>
using std::cin;
using std::cout;
const int SIZE = 15;
int main( ){
cout << "Enter your name:";
char name[SIZE];
cin.getline(name,SIZE);
cout << "name:" << name;
cout << "/nEnter your address:";
char address[SIZE];
cin.get(address,SIZE);
cout << "address:" << address;
}

輸出:
Enter your name:jimmyi shi
name:jimmyi shi
Enter your address:YN QJ
address:YN QJ

由于由Enter生成的換行符被拋棄了,所以不會(huì)影響下一次cin.get()對(duì)地址的讀取。
如果cin.get()是一個(gè)一個(gè)字符的讀入,但是cin.get()不會(huì)忽略任何字符,對(duì)于回車符需要單獨(dú)處理。

兩點(diǎn)注意:
(1) 學(xué)會(huì)區(qū)別get()與getline();
(2)換行符號(hào)是\n,而不是/n;

相關(guān)文章

  • C語(yǔ)言?const修飾普通變量和指針的操作代碼

    C語(yǔ)言?const修飾普通變量和指針的操作代碼

    這篇文章主要介紹了C語(yǔ)言const修飾普通變量和指針,用const修飾普通變量時(shí),是在語(yǔ)法層面限制了變量的修改,但是本質(zhì)上,變量還是變量,是一種不能被修改的變量,本文通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-08-08
  • C++模擬實(shí)現(xiàn)List迭代器詳解

    C++模擬實(shí)現(xiàn)List迭代器詳解

    list不同于其他容器,他是一個(gè)鏈表,物理地址并不連續(xù)。所以在實(shí)現(xiàn)list類的迭代器的時(shí)候,需要將迭代器單獨(dú)封裝到一個(gè)類里,因?yàn)樾枰剌d很多操作符來(lái)跟其他容器的迭代器使用達(dá)成一致
    2022-04-04
  • Qt的Qss用法小結(jié)

    Qt的Qss用法小結(jié)

    Qt的Qss是一種用于定義用戶界面的樣式表語(yǔ)言,本文主要介紹了Qt的Qss用法小結(jié),非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2023-06-06
  • C語(yǔ)言如何實(shí)現(xiàn)Unix時(shí)間戳與本地時(shí)間轉(zhuǎn)化

    C語(yǔ)言如何實(shí)現(xiàn)Unix時(shí)間戳與本地時(shí)間轉(zhuǎn)化

    這篇文章主要介紹了C語(yǔ)言如何實(shí)現(xiàn)Unix時(shí)間戳與本地時(shí)間轉(zhuǎn)化的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • C語(yǔ)言中獲取和改變目錄的相關(guān)函數(shù)總結(jié)

    C語(yǔ)言中獲取和改變目錄的相關(guān)函數(shù)總結(jié)

    這篇文章主要介紹了C語(yǔ)言中獲取和改變目錄的相關(guān)函數(shù)總結(jié),包括getcwd()函數(shù)和chdir()函數(shù)以及chroot()函數(shù)的使用方法,需要的朋友可以參考下
    2015-09-09
  • 對(duì)C語(yǔ)言編程標(biāo)準(zhǔn)以及聲明的基本理解

    對(duì)C語(yǔ)言編程標(biāo)準(zhǔn)以及聲明的基本理解

    這篇文章主要介紹了對(duì)C語(yǔ)言編程標(biāo)準(zhǔn)以及聲明的基本理解,有助于對(duì)C語(yǔ)言編寫時(shí)的結(jié)構(gòu)有更加清晰的認(rèn)識(shí),需要的朋友可以參考下
    2015-11-11
  • Qt QChart實(shí)現(xiàn)折線圖的繪制

    Qt QChart實(shí)現(xiàn)折線圖的繪制

    QChart是常用的圖表,這篇文章主要為大家詳細(xì)介紹了Qt如何利用QChart實(shí)現(xiàn)折線圖的繪制,文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2023-04-04
  • VSCode遠(yuǎn)程開發(fā)調(diào)試服務(wù)器c/c++代碼

    VSCode遠(yuǎn)程開發(fā)調(diào)試服務(wù)器c/c++代碼

    語(yǔ)音相關(guān)的好多項(xiàng)目要在linux上跑,但代碼開發(fā)大多是在PC機(jī)上,本篇簡(jiǎn)單介紹一下怎么在個(gè)人電腦上用VSCode遠(yuǎn)程開發(fā)調(diào)試服務(wù)器上的c/c++代碼。感興趣的朋友跟隨小編一起看看吧
    2020-04-04
  • C語(yǔ)言可變長(zhǎng)的參數(shù)列表詳解

    C語(yǔ)言可變長(zhǎng)的參數(shù)列表詳解

    這篇文章主要為大家介紹了C語(yǔ)言可變長(zhǎng)的參數(shù)列表,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-01-01
  • 雙向鏈表插入刪除基本應(yīng)用介紹

    雙向鏈表插入刪除基本應(yīng)用介紹

    本文將詳細(xì)介紹建立雙向鏈表,實(shí)現(xiàn)對(duì)雙向鏈表的插入,刪除操作,需要了解的朋友可以參考下
    2012-11-11

最新評(píng)論