2016-02-02 116 views
0

我正在寫一個C++程序,我正在尋找從命令行捕獲輸入。對於在命令行中輸入的每個參數,都將被捕獲。該程序將捕獲每個命令行,直到用戶輸入END。程序將提供輸入的每個命令行參數的輸出。例如:用戶輸入./程序運行該程序。 ./程序被捕獲。然後用戶輸入test然後捕獲用戶,然後輸入arg然後END。然後程序輸出C++捕獲命令行輸入並逐行輸出

  • ./program
  • 測試
  • ARG

這是我發現的資源我只是不知道如何充分執行和循環http://www.cplusplus.com/articles/DEN36Up4/
下面是我到目前爲止,只是不確定for循環等待END 謝謝!

#include <iostream> 
using namespace std; 

int main(int argc, char* argv[]) 
{ 
    std::cout << "Enter your command line \n and to stop enter END" << std::endl; 
    for (int i = 0; i < count; ++i) 
    { 
     /* code */ 
    } 
    // Once user types END then arguments entered in will display 
    std::cout << << std::endl; 
    return 0; 
} 
+0

你的問題不明確。您能否爲我們提供示例輸入和輸出? – ChrisD

+0

當然,我執行程序。消息顯示*輸入您的命令行\ n並停止輸入END *然後用戶輸入命令行中的任何內容,例如* ./Program *,以便捕獲您執行該程序* a.out *然後它會捕獲這個附加到最後一次捕獲 - 所以輸入1將是./program輸入2將是a.out輸入3 ls test - 用戶輸入END - 程序輸出./program「pilcrow」a.out「pilcrow」test – Bigboy6

+0

I編輯問題以添加該信息Bigboy6。我會對它進行重新說明以保持一致。 – user4581301

回答

1

看看cingetline

示例代碼(未測試):

string command_list; 

while(true) { 
    string input; 
    getline (cin, input); 

    if(input.compare("END") == 0) 
     break; 
    else 
     command_list.append(input); 
} 
+0

我建議使用'std :: vector '作爲字符串容器。將一個字符串追加到另一個字符串使得搜索字符串中的子串很困難。 –

+0

是的,但是因爲我只想打印它,所以我認爲這是最好的方法。 –

+0

謝謝@FábioJunqueira正是我所需要的,並且可以從此建立起來。真的,字符串函數和getline命令是至關重要的。非常感激! – Bigboy6