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);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM