码迷,mamicode.com
首页 > 其他好文 > 详细

cin.get(),cin.getline(),getline(),gets(),getchar()

时间:2014-08-13 14:26:36      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:style   color   os   io   for   ar   代码   line   

-----------------------

1.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();

 

--------------------------------------------

2.cin.getline()//---不提取 回车

cin.getline(字符数组 /字符指针,字符个数n,终止标志字符);//终止字符可以不写,默认为‘\n‘

 

可跳过终止符号。

即每次读取一整行并把由Enter键生成的换行符抛弃

 

 

返回值:此处还待研究,求大神指导。

---------------------------------------------

3.getline()-----------getline()     // 接受一个字符串,可以接收空格并输出,需包含“#include<string>

 

 

#include <iostream> 

#include <string>

using namespace std; 

void main(void) 

       stringa;

       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.getchar()

getchar()   //接受一个字符,需包含“#include<string>

 

#include<iostream>

#include<string>

using namespace std;

int main ()

{

       chara; 

       a=getchar();           //   getchar( a )--------写法错误

       cout<<a<<endl;

       return0;

 

输入:abc

输出:a

cin.get(),cin.getline(),getline(),gets(),getchar(),布布扣,bubuko.com

cin.get(),cin.getline(),getline(),gets(),getchar()

标签:style   color   os   io   for   ar   代码   line   

原文地址:http://www.cnblogs.com/bofengyu/p/3909832.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!