zoukankan      html  css  js  c++  java
  • C++中cin的使用总结

      在学习C++时大家肯定迷惑过关于输入输出各种输出函数的功能,现在来总结一下各种函数的简单用法。

      cin建有一个缓冲区,即输入缓冲区。一次输入过程是这样的,当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin函数直接从输入缓冲区中取数据。正因为cin函数是直接从缓冲区取数据的,所以有时候当缓冲区中有残留数据时,cin函数会直接取得这些残留数据而不会请求键盘输入,这就是为什么有时会出现输入语句失效的原因。

      1.cin>>函数的用法:这是我们最经常用,学习C++最初接触的输入流。

      用法1.接受一个字符串的输入,遇到“空格”"TAB""回车“结束。

      #include <iostream>
      using namespace std;
      void main ()
      {
        char a[10];
        cin>>a;
        cout<<a<<endl;
      }

      输入:aaabbbccc

      输出:aaabbbccc

      输入:aaa bbb ccc

      输出:aaa

      2.输入一个数字。

      #include <iostream>
      using namespace std;
      void main ()
      {
        int a,b;
        cin>>a>>b;
        cout<<a+b<<endl;

      }

      输入:1回车2回车

      输出:3

      2.cin.get()的用法,这函数有三种形式,cin.get(),cin.get(char ch),cin.get(array,length)。

      用法1.cin.get()

      用于读取一个字符,结束条件是回车,不过不会丢弃缓冲区的回车(enter)和空格,cin.get()和cin.get(char ch)功能基本一样的,char = cin.get()和cin.get(char ch)共能一样。 

      #include<iostream>
      using namespace std;
      int main()
      {
        char c,ch;
        c = cin.get();
        cin.get(ch);
        cout<<c<<endl;
        cout<<ch<<endl;
        return 0;
      }

      输入:a回车(输入一个字符然后接着回车)

      输出:a

        (此处有一行)

      输入:abcd回车

      输出:a

           b    

      用法2.cin.get(char ch)用法同用法1

      用法3.cin.get(array,length) 接受一个字符串的输入,接受输入的length-1个字符,最后一个存入的是‘’。

      #include<iostream>
      using namespace std;
      int main()
      {
        char ch[10];
        cin.get(ch,5);
        cout<<ch<<endl;
        return 0;
      }

      输入:abcdefg回车

      输出:abcd

      3.cin.getline()的用法,接受一个字符串的输入包括空格,遇到回车停止。

      用法1.cin.getline()  

      #include<iostream>
      using namespace std;
      int main()
      {
        char ch[10];
        cin.getline(ch,5);
        cout<<ch<<endl;
        return 0;
      }

      输入:aaaaaaaa

      输出:aaaa

      4.getline()函数,接受一个字符串的输入包含空格,遇到回车停止要包含#incldue<string>。

      用法1.getline(cin,sting s)  

      #include<iostream>
      #include<string>
      using namespace std;
      int main()
      {
        string s;
        getline(cin,s);
        cout<<s<<endl;
        return 0;
      }

      输入:abcdefg回车

      输出:abcdefg

      5.gets()函数,接受一个字符串的输入包含空格,遇到回车停止,要包含#incldue<string>。

      用法1:接收一个字符串的输入。  

      #include<iostream>
      #include<string>
      using namespace std;
      int main()
      {
        char ch[10];
        gets(ch);
        cout<<ch<<endl;
        return 0;
      }

      输入:abcdefg回车

      输出:abcdefg

      6.getchar()接受一个字符输入,包含空格,遇到回车停止,要包含#incldue<string>。

      用法1:接受一个字符的输入 

      #include<iostream>
      #include<string>
      using namespace std;
      int main()
      {
        char ch;
        ch = getchar();
        cout<<ch<<endl;
        return 0;
      }

      输入:abc回车

      输出:a

  • 相关阅读:
    java 简单的spring boot 服务器和文件上传接口(exceeds its maximum报错)
    nodeJs 远程服务器的部署和简单静态Web服务器
    Electron 搭建文件浏览器
    Electron项目的搭建和electron-builder打包
    Nexus搭建私服
    fiddler 抓包工具,抓取微信公众号直播回放视频; blob视频下载;微信视频号内容抓取
    二进制的原码,反码,补码,移码
    《RocketMQ源码系列》mq启动流程
    一条查询sql执行流程
    《springboot源码系列》——内置tomcat启动原理
  • 原文地址:https://www.cnblogs.com/coderchuanyu/p/4230346.html
Copyright © 2011-2022 走看看