2010-03-19 86 views
0

我有一個程序可以處理粘貼到控制檯的數據。例如,當程序運行和我貼C++輸入流

delete 54545 
add 4324 

程序調用刪除與參數54545的功能,但等到4324後進入調用第二功能。我不知道如何在沒有輸入的情況下調用它。

示例

第一行是應該調用多少個函數。我這個貼在控制檯

3 
delete 4324324 
add 324 
add 4324 

的代碼就是這樣

... 
int count; 
string func, parameter; 
cin >> count; 
for (int i=1; i<=count;i++) { 
    cin >> func; 
    switch(func) { 
     case "add": cin >> parameter; add(parameter); break; 
     case "delete": cin >> parameter; delete(parameter); break; 
    } 
} 
... 

所有函數被調用,但最後一個是不是... 在這個例子中最後的功能添加和程序等待按後輸入

case "add": cin >> parameter 

調用函數。

+0

它聞起來像你需要'ncurses'和/或'getch(e)'。 – pajton 2010-03-19 01:11:07

回答

1

如果您需要處理由用戶提供的輸入,並且不想等到用戶按下輸入時解析,則無法使用標準流。

Insead getch()功能可能適用於您,請注意這不是標準的C/C++。