2017-04-04 45 views
-3

假設用戶輸入如下所示的值: 1000 1345 890 896 as string如何將它們轉換爲C中的整數或C++。原因是我正在創建某種數字解碼系統,並且我需要所有數字以內聯方式輸入,無論這些空間的長度如何,這些空格都將表示輸入的每個數字的結尾。我可以使用什麼方法或方法將用戶輸入的字符串轉換爲C++中的整數

+0

你嘗試過什麼嗎? – tnw

+0

請閱讀['strtol'](http://www.cplusplus.com/reference/cstdlib/strtol/)。這是兩種語言的正確答案。 –

+2

選擇C或C++。他們是不同的語言,而「自然」解決方案可能會非常不同。 – crashmstr

回答

-1

下面是一個簡單的代碼,讓你開始。當然,這裏沒有檢查用戶是否輸入了正確的格式,因此您可能會遇到運行時錯誤。我也沒有提供退出循環的方式,因爲我不知道你需要什麼字符串來看看你是否完成了收集字符串。它也只是將整數引入向量中。

#include <iostream> 
#include <string> 
#include <vector> 

int main() 
{ 
    std::vector<int> nums; 
    std::string str; 
    while (std::cin >> str) 
     { 
     int num = std::stoi(str); 
     nums.push_back(num); 
     } 
    return 0; 
} 
0

有一個出路感謝大家

將投入最多的代碼,但實際上並不能得到縮進堆棧的權利。因爲我實際上是新來堆棧,所以我會跳過代碼無論如何我使用字符串整數函數我注意到它是我的編譯器給我的問題@first,因爲它不支持C++ 11個庫函數,它是一個過時的編譯器,我猜C++ 99。

無論如何感謝大家。

相關問題