C++ 中各种输入方法总结

it2022-05-05  141

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初学者等

最新回复(0)