1、cin >>
用法1:最基本同时也是最常用的用法,输入一个数字:
#include
using namespace std;
int main ()
{
int a,b;
cin >> a >> b;
cout << a+b <<endl;
}
输入:1[回车]2[回车]
输出:3
用法2:接受一个字符串,遇“空格”、“TAB”、“回车”都结束
#include
using namespace std;
int main ()
{
char a[20];
cin >> a;
cout << a << endl;
}
输入:abcdefghi
输出:abcdefghi
输入:abcde fghik
输出:abcde //遇空格结束
2、cin.get()
用法1: cin.get(字符变量名)可以用来接收字符
#include
using namespace std;
int main ()
{
char ch;
ch = cin.get(); //或者cin.get(ch);
cout << ch << endl;
}
输入:abcdefgh
输出:a
用法2:cin.get(字符数组名,接收字符数目)用来接收一行字符串,可以接收空格
#include
using namespace std;
int main ()
{
char a[20];
cin.get(a,20);
cout <<a <<endl;
}
输入:bcd bcd bcd
输出:bcd bcd bcd
输入:abcdeabcdeabcdeabcdeabcde (输入25个字符)
输出:abcdeabcdeabcdeabcd (接收19个字符+1个’\0’)
用法3:cin.get(无参数)没有参数主要是用于舍弃输入流中的不需要的字符,或者舍弃回车,弥补cin.get(字符数组名,接收字符数目)的不足.
3、cin.getline() // 接受一个字符串,可以接收空格并输出
用法一:cin.geline(数组名称,要读取的字符数);
#include
using namespace std;
int main ()
{
char m[20];
cin.getline(m,5);
cout<<m<<endl;
}
输入:abcdefgh
输出:abcd
接受5个字符到m中,其中最后一个为’\0’,所以屏幕只看到4个字符输出;
如果把5改成20:
输入:abcdefghi
输出:abcdefghi
输入:abcd efghij klstywz
输出:abcd efghij klstywz
用法二:cin.getline(数组名称,要读取的字符数,结束字符);
当第三个参数省略时,系统默认为’\0’
如果将例子中cin.getline()改为cin.getline(m,5,‘s’);当输入abcdefghi时输出abcd,输入abcsdefgi时,输出abc
4、getline() // 接受一个字符串,可以接收空格并输出,需包含“#include”
#include
#include
using namespace std;
int main ()
{
string str;
getline(cin,str);
cout<<str<<endl;
}
输入:abcdefghi
输出:abcdefghi
输入:abcd efghij klstywz
输出:abcd efghij klstywz
和cin.getline()类似,但是cin.getline()属于istream流,而getline()属于string流,是不一样的两个函数;string 版本的getline()将自动调整目标string对象的大小,使之刚好能够存储输入的字符。