如何从命令行运行我的代码?

问题描述:

我有以下代码如何从命令行运行我的代码?

#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

导航到可执行文件(.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; 
} 

一旦你编译这个,你会得到一个可执行文件。导航到包含可执行文件的目录并运行它。

+0

除非你知道你在做什么,这并不完全有帮助。你正在为隐含的知识做出许多假设。 – 2010-07-19 17:42:39

从开始菜单打开命令提示符。使用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

程序的编译输出将在调试或释放解决方案文件夹内的文件夹(至少使用默认项目设置)。只需转到该目录并运行.exe文件即可。

+0

这将适用于一个简单的程序,但如果有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文件

+0

Matthew,这就是编译并链接它,而不是如何运行它。 – 2010-07-19 17:17:26

+0

对不起,我误读了这个问题:( – Matt 2010-07-19 17:18:57

一旦你的代码设置正确,它会是这样的。

MyApp 2 3 

或者类似