2010-07-19 69 views
0

我有以下代碼如何從命令行運行我的代碼?

#include <iostream> 
using namespace std; 
int main(int argc,char arg[]){ 

    int a=arg[1]; 
    int b=arg[2]; 
    int c=a+b; 
    cout<<c<<endl; 


    return 0; 
} 

我使用Windows 7微軟的Visual C++ 2010 如何運行命令行呢?

+7

也許你試着運行它之前,你的代碼應該是正確的... – Cogwheel 2010-07-19 16:47:42

+6

可能意味着什麼齒輪是你的ARG []聲明是錯的;你需要'char * arg []'給你一個字符串參數,然後你需要將它們轉換爲整數,然後才能使用它們。 'int a = atoi(arg [1]);' – Rup 2010-07-19 16:51:29

+6

對於記錄,您不必在所有...問題的標題中說''問題'。 – BoltClock 2010-07-19 16:54:06

回答

-1

導航到可執行文件(.exe)所在的目錄。然後鍵入可執行文件的名稱,後跟兩個整數參數。

C:\TestProg\> TestProg 5 6 

在你原來的例子中的問題在這裏更正:

#include <iostream> 
#include <sstream> 

int main(int argc, char *arg[]) 
{ 
    std::stringstream sa; 
    std::stringstream sb; 
    int a; 
    int b; 
    int c; 

    if (argc >= 3) 
    {  
     // Convert string parameter into an integer. 
     sa.str(arg[1]); 
     sa >> a; 

     if (!sa) 
     { 
      return 1; // error 
     } 

     // Convert string parameter into an integer. 
     sb.str(arg[2]); 
     sb >> b; 

     if (!sb) 
     { 
      return 1; // error 
     } 
    } 
    else 
    { 
     return 1; // error 
    } 

    c = a + b; 
    std::cout << c << std::endl; 
    return 0; 
} 
1

一旦你編譯這個,你會得到一個可執行文件。導航到包含可執行文件的目錄並運行它。

+0

除非你知道你在做什麼,這並不完全有幫助。你正在爲隱含的知識做出許多假設。 – 2010-07-19 17:42:39

2

從開始菜單打開命令提示符。使用CD命令將目錄更改爲您的exe文件的位置。輸入您的exe名稱,然後輸入參數。

foo.exe 1 2 

或只是

foo 1 2 

期待輸出(一旦你固定的許多代碼中的錯誤):

3 
+7

我當然不會期望輸出。 – 2010-07-19 16:49:59

+2

公平的,一旦它工作。但我回答的問題是關於執行和傳遞參數的實際過程。 – 2010-07-19 16:58:31

0

程序的編譯輸出將在調試或釋放解決方案文件夾內的文件夾(至少使用默認項目設置)。只需轉到該目錄並運行.exe文件即可。

+0

這將適用於一個簡單的程序,但如果有DLL和其他行李,程序將在工作目錄中查找資產。命令行需要在EXE所在的上方設置一個目錄,並且EXE名稱需要位於它所在的目錄之前(C:\ MyFolder> Debug \ MyApp.exe 2 3) – Pierre 2011-02-24 17:09:23

1

轉到谷歌並尋找Windows控制檯教程。您需要從控制檯啓動它。或者,您可以在項目屬性中分配命令行。我建議學習做這兩個。

順便說一句,這段代碼幾乎肯定不會做你認爲的事情。

0

打開Visual Studio命令提示符(你可以在開始菜單中找到它)

cd到你的源文件目錄

類型:

cl.exe <your file name>.cpp 

這將創建一個文件.exe文件

+0

Matthew,這就是編譯並鏈接它,而不是如何運行它。 – 2010-07-19 17:17:26

+0

對不起,我誤讀了這個問題:( – Matt 2010-07-19 17:18:57

0

一旦你的代碼設置正確,它會是這樣的。

MyApp 2 3 

或者類似