zoukankan      html  css  js  c++  java
  • C++中cin的输入分隔符问题及相关

    1、C/C++中的类型转换函数(区分类中的类型转换构造函数):

      头文件:C中stdlib.h  C++中cstdlib

      atof(将字符串转换成浮点型数)

      atoi(将字符串转换成整型数)

      atol(将字符串转换成长整型数)

      strtod(将字符串转换成浮点数)

      strtol(将字符串转换成长整型数)

      strtoul(将字符串转换成无符号长整型数)

      toascii(将整型数转换为合法的ASCII码字符)

      toupper(将小写字母转换成大写字母)

      toupper(将大写字母转换成小写字母)

    2、默认的输入是以空格、tab、换行符作为分隔符的,但如果要输入一组数据,

    以逗号或者别的字符作为分隔符是怎么办呢?

      我将其分为两种情况:

        1、如果输入的一组类型都相同的数值型

          那么可以在输入的时候,用一个字符去接收分隔符

          例如:

            int a,b,c,d;

            char sep;

            cin>>a>>sep>>b>>sep>>c>>sep>>d;

            输入:52,53,56,57

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

            float a,b,c,d;

            char sep;

            cin>>a>>sep>>b>>sep>>c>>sep>>d;

            输入:52.1,53.2,56.3,57

        2、如果输入的一组类型不相同

          那么就必须利用类型转换函数(这些数据中的字符不能包含分隔符)

          例如:

            string name;

            int age;

            string schnum;

            int a;

            getline(cin,name,',');

            getline(cin,a,',');

            getline(cin,schnum);

            age=atoi(a);

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

            输入:Jack,18,2014223355

        3、ostream_iterator

          头文件:iterator

          使用:ostream_iterator<int> output(cout, " ");  // 分隔符为双引号

             vector<int> v

             copy(v.begin(),v.end(),output);

  • 相关阅读:
    JVM安全退出(如何优雅的关闭java服务)
    二维码(QR code)基本结构及生成原理
    数据库连接池 c3p0 druid
    java Graphics2d消除锯齿,使字体平滑显示
    linux下如何删除行首的数字?
    git 如何revert指定范围内的commit并且只生成一个新的commit?
    linux内核中的两个标记GFP_KERNEL和GFP_ATOMIC是用来干什么的?
    ubuntu如何安装svn客户端?
    linux内核中宏likely和unlikely到底做了些什么?
    vi中如何使用cscope来查找函数的定义
  • 原文地址:https://www.cnblogs.com/loveprogramme/p/11000421.html
Copyright © 2011-2022 走看看