●1.getchar() 可以输入字符
getchar() //接受一个字符,需包含“#include<string>”
#include<iostream>
#include<string>
using namespace std;
int main ()
{
chara;
a=getchar(); // getchar( a )--------写法错误
cout<<a<<endl;
return0;
}
输入:abc
输出:a
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2.cin.getline()//---不提取 回车 可以输入字符串
cin.getline(字符数组 /字符指针,字符个数n,终止标志字符);//终止字符可以不写,默认为'\n'
可跳过终止符号。
即每次读取一整行并把由Enter键生成的换行符抛弃
返回值:此处还待研究,求大神指导。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
●3.getline()-----------用于 string
字符串的。 可以输入字符串(针对string)
getline() // 接受一个字符串,可以接收空格并输出,需包含“#include<string>”
#include <iostream>
#include <string>
using namespace std;
void main(void)
{
string a;
getline(cin,a);
cout<<a<<endl;
}
上面代码,如果输入a b c,需要按两次回车键才能显示a b c(在VC6中),因为getline有三个参数, 第三个参数是字符串的结束符,也就是当getline遇到这个结束符时,就不在接受输入了,比如写成getline(cin,st,'s'); 即使输入的是abcsabc 那么也只会显示 abc ,因此对于上面出现的情况,有人说getline默认情况下以回车('\n')作为结束符,第一次按回车表示字符串结束,第二次按回车才开始输出。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
4.gets() ////-----跟 cin.getline()类似,不提取 回车 可以输入字符串
gets() // 接受一个字符串,可以接收 空格 并输出,需包含“#include<string>”
返回值:gets(str) 在读取成功的时候返回str,str保存的是成功读入的内容
在失败的时候返回NULL,str的内容保持不变
#include<iostream>
#include<string>
using namespace std;
int main()
{
chara[20];
gets(a); //不能写成a=gets();
cout<<a<<endl;
return0;
}
输入:abc
输出:abc
输入:a b c
输出:a b c
类似cin.getline()里面的一个例子,gets()同样可以用在多维数组里面:
#include<iostream>
#include<string>
using namespace std;
int main ()
{
chara[3][20];
for(inti=0;i<3;i++)
gets(a[i]);
cout<<"--------"<<endl;
for(intj=0;j<3;j++)
cout<<a[j]<<endl;
return0;
}
输入:
a b 1
a b 2
a b 3
输出:
a b 1
a b 2
a b 3
感觉gets()和cin.getline()的用法很类似,只不过cin.getline()多一个参数罢了;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
5.cin.get() 可以输入字符&字符串
(1).cin.get()-------提取单个字符,可以提取回车、空格
a=cin.get();
(2) 同(1)---------------提取单个字符,可以提取回车、空格
cin.get(a);
(3).-------------------不提取 回车
cin.get(字符数组,字符个数n,终止字符);//终止字符可以不写,默认为'\n'
或cin.get(字符指针,字符个数n,终止字符);//终止字符可以不写,默认为'\n'
不可跳过终止符号。需把回车'\n'提取掉
可以写成
cin.get(a,20);
cin.get();
也可以组合写成
cin.get(a,20).get();