2012-03-22 81 views
0

我是一個C++初學者。我正試圖從控制檯獲取一些輸入。 myconsole commmands是在 「動作參數」 形成在C++中讀取輸入並分配給不同的變量

  • 索取
  • 創建b 1
  • 銷燬Ç

基座上的輸入 「請求」, 「創建」 和 「銷燬」,則我程序將決定處理哪個功能。我知道我可以使用cin >>變量來做到這一點。我做了一些研究,並提出了後續

string action; 
    while(true){ 
     cin >> action; 
     cout << action << endl; 
    } 

現在的問題是我只能將輸入到一個變量「行動」,我怎麼能分配輸入另一個變量「參數」,並在串也許注意參數和整數數據類型。

感謝您的幫助。

+0

只需再添變數,各執空白,什麼的。無論你喜歡,你都可以設計它。 – 2012-03-22 23:48:45

+0

再次使用'cin' ... – 2012-03-22 23:48:47

+0

嗨,我在我的視覺工作室再次嘗試併成功,謝謝大家,我可以刪除這篇文章嗎? – onegun 2012-03-22 23:59:31

回答

0

閱讀完整行並稍後拆分可能會更好。字符串流是有用的,爲此目的:

#include <string> 
#include <sstream> 
#include <iostream> 

std::string line; 
while (std::getline(std::cin, line)) 
{ 
    std::istringstream iss(line); 
    std::string token; 

    while (iss >> token) 
    { 
     std::cout << "Word: " << token << "\n"; 
     // ... process tokens; e.g. store in a container 
    } 
} 
+0

問題再次使用cin解決,謝謝 – onegun 2012-03-22 23:55:44

+0

也許我應該指出'std :: cin'停在空格處。 – 2012-03-22 23:56:34

+0

@ user1275129如果這是解決方案,則應將其標記爲答案。 – Lander 2012-03-23 01:18:37

0

如果你想創建一個全文模式用戶界面,看看在CLI工具包: http://alexis.royer.free.fr/CLI/。 該工具包可以很容易地定義命令行語法(包括序列關鍵字和參數,還包括菜單和其他內容),並將它們與應在最後執行的最終例程一起插入。解析由工具包提供的庫完成。

1

例如:

string str; 
int a; 
double b; 
char c; 
cin >> str >> a >> b >> c;