標籤: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