1、cin>>
用法1:
最基本,最常用的输入方式。
在输入过程中会过滤掉不可见字符,如空格、回车、TAB等。同时在遇到
如果不想略过空白字符,需要使用noskipws流控制
用法2:
接受一个字符串,遇到空格、TAB、回车都结束
2、cin.get()
用法1:
cin.get(字符串变量名),可用来接受字符
cin.get(ch)或者ch = cin.get()
用法2:
cin.get(字符数组名,接收字符数目),可用来接受一行字符串,可以接收空格
用法3:
cin.get(无参数),没有参数主要是用来舍弃输入流中的不需要的字符,或者舍弃回车,用来弥补cin.get(字符数组名,接收字符数目)的不足
3、cin.getline()
用法:
接收一个字符串,可以接收空格并输出
参数形式:cin.getline(接受字符串名称,接受个数,结束字符),当第三个参数省略时,系统默认为'\0'
4、getline()
用法:
接受一个字符串,可以接受空格并输出,需要包含头文件“#include<string>”
参数形式:getline(cin,字符串名称)
5、gets()
用法:
gets()函数用于重缓冲区中读取字符串,原型为 char *gets(char *string)
gets()函数从流中读取字符串,直到出现换行符或读到文件尾为止,最后加上NULL作为字符串结束,所读取的字符串暂存在给定的参数String中
返回值:若成功则返回string的指针,否则返回NULL
注意:由于gets()不检查字符串string的大小,必须遇见换行符或者是文件结尾才会结束输入,因此容易造成缓存溢出的安全问题,导致程序崩溃,可以使用fgets()代替
转载于:https://www.cnblogs.com/Frances-CY-FKYM/p/10517709.html
相关资源:C语言多组数据输入的各种办法,适合ACM初学者等