cin.get(),cin.getline(),getline(),gets(),getchar()

來源:互聯網
上載者:User

標籤:style   color   os   io   for   代碼   

-----------------------

1.cin.get()

 

(1).cin.get()提取單個字元,可以提取斷行符號、空格

a=cin.get();

 

(2)同(1)

cin.get(a);

 

(3).

cin.get(字元數組,字元個數n,終止字元);//終止字元可以不寫,預設為‘\n‘

或cin.get(字元指標,字元個數n,終止字元);//終止字元可以不寫,預設為‘\n‘

 

不可跳過終止符號。需把斷行符號‘\n‘提取掉

可以寫成

cin.get(a,20);

cin.get();

也可以組合寫成

cin.get(a,20).get();

 

--------------------------------------------

2.cin.getline()

cin.getline(字元數組 /字元指標,字元個數n,終止標誌字元);//終止字元可以不寫,預設為‘\n‘

 

可跳過終止符號。

即每次讀取一整行並把由Enter鍵產生的分行符號拋棄

 

 

返回值:此處還待研究,求大神指導。

---------------------------------------------

3.getline()

getline()     // 接受一個字串,可以接收空格並輸出,需包含“#include<string>”

 

 

#include <iostream> 

#include <string>

using namespace std; 

void main(void) 

       stringa;

       getline(cin,a); 

       cout<<a<<endl; 

}     

 

上面代碼,如果輸入a b c,需要按兩次斷行符號鍵才能顯示a b c(在VC6中),因為getline有三個參數, 第三個參數是字串的結束符,也就是當getline遇到這個結束符時,就不在接受輸入了,比如寫成getline(cin,st,‘s‘); 即使輸入的是abcsabc 那麼也只會顯示 abc ,因此對於上面出現的情況,有人說getline預設情況下以斷行符號(‘\n‘)作為結束符,第一次按斷行符號表示字串結束,第二次按斷行符號才開始輸出。

 

 

 

--------------------------------------------

4.gets()

gets()        // 接受一個字串,可以接收空格並輸出,需包含“#include<string>”

 

返回值:gets(str) 在讀取成功的時候返回str,str儲存的是成功讀入的內容

在失敗的時候返回NULL,str的內容保持不變

 

#include<iostream>

#include<string>

using namespace std;

int main()

       chara[20]; 

       gets(a);        //不能寫成a=gets();

       cout<<a<<endl;

       return0;

}   

 

輸入:abc

輸出:abc

 

輸入:a b c

輸出:a b c

 

類似cin.getline()裡面的一個例子,gets()同樣可以用在多維陣列裡面:

 

#include<iostream>

#include<string>

using namespace std;

int main ()

       chara[3][20];

       for(inti=0;i<3;i++)

              gets(a[i]);

       cout<<"--------"<<endl;

       for(intj=0;j<3;j++) 

              cout<<a[j]<<endl;

       return0;

 

輸入:

a b 1

a b 2

a b 3

輸出:

a b 1

a b 2

a b 3  

 

感覺gets()和cin.getline()的用法很類似,只不過cin.getline()多一個參數罷了;

 

--------------------------------

 

5.getchar()

getchar()   //接受一個字元,需包含“#include<string>”

 

#include<iostream>

#include<string>

using namespace std;

int main ()

{

       chara; 

       a=getchar();           

       cout<<a<<endl;

       return0;

 

輸入:abc

輸出:a

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.