我有以下代碼如何從命令行運行我的代碼?
#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 如何運行命令行呢?
我有以下代碼如何從命令行運行我的代碼?
#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 如何運行命令行呢?
導航到可執行文件(.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;
}
一旦你編譯這個,你會得到一個可執行文件。導航到包含可執行文件的目錄並運行它。
除非你知道你在做什麼,這並不完全有幫助。你正在爲隱含的知識做出許多假設。 – 2010-07-19 17:42:39
從開始菜單打開命令提示符。使用CD命令將目錄更改爲您的exe文件的位置。輸入您的exe名稱,然後輸入參數。
foo.exe 1 2
或只是
foo 1 2
期待輸出(一旦你固定的許多代碼中的錯誤):
3
我當然不會期望輸出。 – 2010-07-19 16:49:59
公平的,一旦它工作。但我回答的問題是關於執行和傳遞參數的實際過程。 – 2010-07-19 16:58:31
程序的編譯輸出將在調試或釋放解決方案文件夾內的文件夾(至少使用默認項目設置)。只需轉到該目錄並運行.exe文件即可。
這將適用於一個簡單的程序,但如果有DLL和其他行李,程序將在工作目錄中查找資產。命令行需要在EXE所在的上方設置一個目錄,並且EXE名稱需要位於它所在的目錄之前(C:\ MyFolder> Debug \ MyApp.exe 2 3) – Pierre 2011-02-24 17:09:23
轉到谷歌並尋找Windows控制檯教程。您需要從控制檯啓動它。或者,您可以在項目屬性中分配命令行。我建議學習做這兩個。
順便說一句,這段代碼幾乎肯定不會做你認爲的事情。
打開Visual Studio命令提示符(你可以在開始菜單中找到它)
cd到你的源文件目錄
類型:
cl.exe <your file name>.cpp
這將創建一個文件.exe文件
Matthew,這就是編譯並鏈接它,而不是如何運行它。 – 2010-07-19 17:17:26
對不起,我誤讀了這個問題:( – Matt 2010-07-19 17:18:57
一旦你的代碼設置正確,它會是這樣的。
MyApp 2 3
或者類似
也許你試着運行它之前,你的代碼應該是正確的... – Cogwheel 2010-07-19 16:47:42
可能意味着什麼齒輪是你的ARG []聲明是錯的;你需要'char * arg []'給你一個字符串參數,然後你需要將它們轉換爲整數,然後才能使用它們。 'int a = atoi(arg [1]);' – Rup 2010-07-19 16:51:29
對於記錄,您不必在所有...問題的標題中說''問題'。 – BoltClock 2010-07-19 16:54:06