2013-04-23 87 views
-4

我有一個類C++讀取使用操作符>>

class BigNumber{ 
public: 
    int digits[100]; 

    BigNumber(); 
    friend istream& operator>>(istream& is, BigNumber& dt); 
}; 

我想從流讀取使用運營商的一些>>,並把每個數字的數字數組英寸

我該怎麼做?

+1

閱讀次數首先將字符串轉換爲字符串,然後將每個字符轉換爲相應的數字(從「0」到「9」)。它是如此容易。 – 2013-04-23 20:21:30

+1

也許你應該重新考慮你的設計 - 爲每個數字存儲一個使用「int」的整數是非常浪費的。 – Dylan 2013-04-23 20:22:23

+0

我試過了,但是我無法將char轉換爲int – tzortzik 2013-04-23 20:22:32

回答

0
` 
istream& operator >> (istream& is, BigNumber& dt) 
{ 
    string s; 
    is>>s; 
    for(int i = 0; i < s.length(); i++) 
    { 
     dt = 10*dt + s[i]; 
    } 
    return is; 
} 
` 

約他進入數字或別的東西,你可以將其添加一些嘗試catch塊被肯定,但我認爲它運作良好,其實我希望它工作得很好,我希望它會幫助