日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
解析C++中g(shù)et()和getline()的區(qū)別(一)

下面通過(guò)例子為大家介紹C++get()和getline()的區(qū)別。

問(wèn)題一:

 
 
  1. #include    
  2. #include    
  3. using namespace std;   
  4. void main(void)   
  5. {   
  6. string st ;   
  7. cout<<"Input st:";   
  8. getline(cin,st);   
  9. cout<
  10. }  

上面這段代碼,如果輸入abc,那么需要按兩次回車(chē)鍵才能顯示abc(在VC6中),因?yàn)間etline有三個(gè)參數(shù),第三個(gè)參數(shù)是字符串的結(jié)束符,也就是當(dāng)getline遇到這個(gè)結(jié)束符時(shí),就不在接受輸入了,比如寫(xiě)成 getline(cin,st,'s'); 即使輸入的是abcsabc 那么也只會(huì)顯示 abc ,因此對(duì)于上面出現(xiàn)的情況,有人說(shuō)getline默認(rèn)情況下以回車(chē)('\n')作為結(jié)束符,第一次按回車(chē)表示字符串結(jié)束,第二次按回車(chē)才開(kāi)始輸出。也有人說(shuō)這是VC6的bug,我覺(jué)得前一種解釋比較合理,因?yàn)椋?/p>

如果你輸入abc(回車(chē))abc,那么程序會(huì)顯示abc,可見(jiàn)回車(chē)的確是函數(shù)默認(rèn)的結(jié)束符。同理:

 
 
  1. getline(cin,candybar.pinpai);  

就是當(dāng)輸入一串字符串后賦值給candybar.pinpai,然后再按二次回車(chē)才顯示在屏幕上!

問(wèn)題二:

1.cin.getline是讀入一行字符,比如:

 
 
  1. #include    
  2. void main()   
  3. {   
  4. char str[20];   
  5. cout<<"Input :";   
  6. cin.getline(str,20);   
  7. cout<

當(dāng)輸入:abd cdrasdf g的時(shí)候就會(huì)輸出:abd cdrasdf g。

2.cin.get()第一個(gè)用法,是讀入一個(gè)字符。

 
 
  1. #include    
  2. void main()   
  3. {   
  4. char str;   
  5. cout<<"Input :";   
  6. str=cin.get();   
  7. cout<
  8. }  

當(dāng)你輸入“ABAF”的時(shí)候,只會(huì)顯示“A”,因?yàn)橹蛔x入了一個(gè)字符(空格也可以讀入)。

3.cin.get()第二個(gè)用法,也是輸入一行(同cin.getline()),但是區(qū)別就是,不輸出分隔符。

希望通過(guò)以上內(nèi)容的介紹,能夠給你帶來(lái)幫助。


網(wǎng)站題目:解析C++中g(shù)et()和getline()的區(qū)別(一)
當(dāng)前地址:http://www.5511xx.com/article/cogodpd.html