您的位置:首页 > 其它

cin,scanf,gets,getline,getchar的一些区别和注意事项

2017-03-18 10:03 483 查看
cin:

输入结束条件 :遇到Enter、Space、Tab键。

scanf:

scanf 读取字符串时,当遇到空格、回车和Tab键都会认为输入结束。

gets:

一般只用于读取字符串,gets可以接收空格,遇到回车认为输入结束

getchar:

getchar()是在输入缓冲区顺序读入一个字符(包括空格、回车和Tab);注意,getchar函数只能接受单个字符,输入数字也按字符处理,输入多于一个字符时,只接收第一个字符

getline:

getline利用cin可以从标准输入设备键盘读取一行,不会忽略空格,以回车为结束

如果定义的是字符数组
char c[10],那么读入一行只能用gets(),不能用getline()

如果定义string s;输入不能用gets(),只能用getline();输出不能用printf(),只能用cout

举例:#include <string>
#include <iostream>
using namespace std;

int main()
{
string str;
getline(cin,str);
cout<<str<<endl;
return 0;
}
#include <string>
#include <iostream>
using namespace std;

int main()
{
char s[100];
gets(s);
cout << s;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: