前言:
这是本人第一次发博客,大家的支持是对我最大的鼓励
话不多说,上干货!
正文:
1. 对单个字符进行输入(包括空格,换行等)
字符数组:
第一种:
函数:scanf("%c", )
介绍:对第 i 个字符进行输入:scanf("%c",&str[i]);
注意:可以对空格,Tab等进行输入。
代码如下
char str[MAXN];
scanf("%c",&str[i]); //对第i个字符进行输入
第二种:
函数getchar()
介绍:对第 i 个字符进行输入:str[i]=getchar();
注意:可以对空格,Tab等进行输入。
代码如下:
char str[MAXN];
str[i]=getchar(); //对第i个字符进行输入
字符串:
第一种:
函数:scanf("%c",&str[i])
介绍:对第 i 个字符进行输入:scanf("%c",&str[i]);
注意:可以对空格,Tab等进行输入。
代码如下:
string str;
scanf("%c",&str[i]); //对第i个字符进行输入
第二种:
函数getchar()
介绍:对第 i 个字符进行输入:str[i]=getchar();
注意:可以对空格,Tab等进行输入。
代码如下:
string str;
str[i]=getchar(); //对第i个字符进行输入
2 对一个字符串进行输入(字符串中间不能有空格)
字符数组:
第一种:
函数:scanf("%s", )
介绍:对一个字符串进行输入:scanf("%s",str);
注意:中间不能包含空格,换行等。
代码如下
char str[MAXN];
scanf("%s",str); //对一个字符串进行输入
字符串:
第一种:
函数:scanf("%s", )
介绍:对一个字符串进行输入:scanf("%s",str[0]);
注意:使用scanf进行输入时要事先分配空间,否则程序会异常终止或报错
中间不能包含空格,换行等。
代码如下
string str;
str.resize(maxn) //事先分配空间(不建议使用) scanf("%s",str[0]); //对一个字符串进行输入
3 对一行进行输入(可以包括空格)
字符数组:
第一种:
函数:gets()
介绍:对一行字符串进行输入:gets(str);
注意:对一行字符串进行输入,中间可以包含空格,以换行符为结束标志,但是末尾的换行符(\n)被替换成了\0 ( 可以理解啥用都没有,就是作为结束标志 )。
代码如下
char str[MAXN]
gets(str); //对一行字符串进行输入
字符串:
第一种:
函数:getline( , )
介绍:对一行字符串进行输入:getline(cin,str);
注意:对一行字符串进行输入,中间可以包含空格,以换行符为结束标志,在使用getline
读入一整行时,若是前面是使用getchar()、cin这类读入了一个字母,但是不会读入后续换行\n符号
或者空格的输入时,再接getline()就容易出现问题,这是因为输入数字之后,敲回车,产生的换行
符仍然滞留在输入流了,接着就被getline(cin,s)给读进去了,此时的s=“\n”,所以实际上s只是读入了
一个换行符\n。
代码如下
string str;
getline(cin,str); 对一行字符串进行输入
4 不停地输入
字符数组:
第一种:
函数:getchar( ) 和 while()
介绍:一直进行输入,直到没有输入时停止,while(str[i++])=getchar());
如果想添加结束条件在其中加上" !=' ' ",例如想加上的结束条件为换行(\n),
while(str[i++])=getchar()!=‘\n’);
注意:如果不加结束条件,那么只有当没有输入时才会停止,从键盘输入时可以用Ctrl+Z,结束输入。
代码如下
char str[MAXN];
while(str[i++]=getchar()) //不停的输入
//注意:i刚开始要清零
//while(str[i++]=getchar()!='\n');
//以换行作为结束标志。
字符串:
第一种:
函数:getchar( ) 和 while()
介绍:一直进行输入,直到没有输入时停止,while(str[i++])=getchar());
如果想添加结束条件在其中加上" !=' ' ",例如想加上的结束条件为换行(\n),
while(str[i++])=getchar()!=‘\n’);
注意:如果不加结束条件,那么只有当没有输入时才会停止,从键盘输入时可以用Ctrl+Z,结束输入。
代码如下
string str;
while(str[i++]=getchar()) //不停的输入
//注意:i刚开始要清零
//while(str[i++]=getchar()!='\n');
//以换行作为结束标志。
5 特殊要求的输入
字符数组:
第一种:
函数:cin.getline( , , )
介绍:上述函数第一个参数为数组名,第二个参数为所输入的字符个数,第三个参数是输入的结束标志。例如对字符数组str的200个字符进行输入,以换行符作为结束标志,cin.getline(str,200,'/n');
注意:输入时遇到结束标志,结束标志并不被输入进去,可以输入空格和换行等。
代码如下
char str[MAXN];
cin.getline(a,200,'\n);//对字符数组str的200个字符进行输入,以换行符作为结束标志
6 其他特殊输入:
cin、cin.get()、cin.getline()、getline() 四种特殊输入详解
后记:
各位,这是本人第一发博客,因为是第一次,所以很多地方会有不足之处,还请各位谅解!
希望大家能对本人有更多的支持!