C++常用的输入方法一般是调用iostream类中的函数或是一些其他类的函数cin ,getline(),cin.get(), cin.getline(),gets(),getchar()
1、cin是iostream中的函数,使用时需要加#include <iostream>头文件,输入不能有空格
eg :
char ch[10];
cin>>ch;
cout<<ch;
其中ch可以是字符、整型、字符串,数组等。如果是数组,输入的元素不能超过数组的长度,否则执行报错;
2、cin.get()是iostream中的函数,使用时需要加#include <iostream>头文件,输入可以有空格
cin.get()可以输入单个字符,像cin一样
eg:
char ch;
ch=cin.get();//或者是cin.get(ch);
或是输入字符数组,其中有两个参数,第一个参数为字符数组名字,第二个参数为所要接受的字符个数
eg:
char ch[10];
cin.get(ch,10);
cout<<ch;
输出为九个字符+'\0'
3、cin.getline()是iostream中的函数,使用时需要加#include <iostream>头文件,输入可以有空格
cin.getline()输入字符数组,其中有三个参数,第一个参数为字符数组名字,第二个参数为所要接受的字符个数,不可以省略,第三个参数为输入结束标志,可以省略,默认为‘\0’。
eg:两个参数情况下:
char ch[10];
cin.getline(ch,10);
cout<<ch;
输出为九个字符+'\0'
eg:三个参数情况下
char ch[10];
cin.getline(ch,10,'3');
cout<<ch;
4、getline()是string中的函数,使用时需要加#include <string>头文件,输入可以有空格
eg:
string str;
getline(cin,str);
cout<<str;
所以cin.getline()和getline()在功能上是相似的,都是接收一行字符串并且可是包含空格,区别有两个,一是是所属的流不同,getline()属于string流,cin.getline()属于iostream流;二是参数格式不同,cin.getline()要有确定的字符数目,而getline()没有要求。
5、getchar()是string中的函数,使用时需要加#include <string>头文件
getchar()接收一个字符
eg:
char ch;
ch=getchar();//不可以写成getchar(ch);
cout<<ch;
6、gets()是string中的函数,使用时需要加#include <string>头文件,可以包含空格
输入字符串的功能和cin相似,区别是可以包含空格
综上所述,
可以输入空格的函数有cin.getline(),cin.get(),getline(),gets()
既可以输入单个字符又可以输入字符串的是cin 和cin.get(,)
一般情况下输入单个字符一般用cin,输入字符串用也用cin,如果要求可以输入空格就用getline()。