C++ 输入总结

        做各大公司笔试题的时候最头疼的时候就是各种输入要求了,有时候要在输入上花费好多时间,所以现在来做个总结,来加强自己的记忆,以免下次在输入浪费不必要的时间;

 1.cin

      cin和cout是C++中的标准输入输出流对象,分别是istream类的对象和ostream类的对象。

     cin读取输入流是遇到空格,回车就停止;

     

   cin可以识别string,char,int,double等类型的输入;

       输入的字符在敲一下回车键后送入到缓冲区中(敲入的这个回车键(\r)会被转换为一个换行符\n,这个换行符\n也会被存储在cin的缓冲区中)cin读取数据也是从缓冲区中获取数据,缓冲区为空时,cin的成员函数会阻塞等待数据的到来,一旦缓冲区中有数据,就调用cin的成员函数依次去读取数据;

2.cin.get()----读入多个字符

     

             get()函数里面可设置三个参数,第一个是存放输入的,第二个是设置读取的输入的个数(超出的被丢弃),第三个是遇到即结束读入的标记;

         如上图所示,get()函数遇到空格也不停止输入 ,且空格也计入输入总数,遇到回车键停止输入;

扫描二维码关注公众号,回复: 2535736 查看本文章

3.cin.get(ch)--读入一个字符

       

           get(ch)只能读入一个字符,必须是字符!!!

4.getline()

        

          getline与get区别不是很大,但一个明显的区别是get遇到'\n '字符后便返回,这时 '\n '还在缓冲区中,所以下次读出来的将是 '\n ',而getline遇到'\n '也返回,但它会把 '\n '从缓冲区里移除掉,如下图所示:

 

 

    

getline() 的使用形式还有另外一种,如下:

           ha  

 

5.getchar()--每次读入一个字符,直至没有输入

      

       空格也算做一个字符,如下

 

6.gets() --输入一个字符串,接受空格

    不知道为啥我的VS显示gets是未定义的标识符,截不了图;

Notes:getchar、get、gets、getline都能识别空格;读取输入直到回车后,getline会丢弃回车,而getchar、get和gets不丢弃保留在输入缓冲中!!!

7.scanf()

    C语言中的输入库函数,不多讲了;

8.puts()--显示一个字符串

    同样的,putchar()是显示一个字符;

猜你喜欢

转载自blog.csdn.net/cxy19931018/article/details/81392065