如何在Codeblock 10.05中获取命令行参数?

时间:2012-08-09 17:11:36

标签: c environment

我正在编写代码块版本10.05中编写C代码。

该计划是:

int main(int argc , char *argv[])
{
    printf("Entered number is %s \n", argv[1]);
    return 0;
}

然而,当我编译当前文件时,&然后运行程序,终端出现。但是,终端不等待命令行输入&它直接输出

<null>

请注意,在上面的程序中,我省略了处理零数量命令行参数的代码。 我如何提供命令行参数?

4 个答案:

答案 0 :(得分:36)

使用code :: blocks,您可以在菜单中设置命令行参数:

Project > Set programs' arguments...

这会打开一个窗口,您可以在其中插入参数。

答案 1 :(得分:3)

如果您需要,可以在代码之前创建一个项目,然后单击Project - &gt;设置程序参数。

答案 2 :(得分:0)

argv中的命令行参数是在程序执行时在命令行上传递给程序的参数。为了在程序执行期间获取用户输入,您需要使用更多代码,例如scanffgets

如果您从IDE运行程序,应该有某种方式,例如项目属性,在运行时将参数传递给程序。对于CodeBlocks,请检查项目菜单: Project-&gt; Set Program Arguments

如果你可以在终端中运行程序,你可以自己传递参数,例如:

$ myProgram argument1

然后在您的代码中,argv[1]将包含字符串:"argument1"

答案 3 :(得分:0)

代码块的项目-设置程序的自变量(然后在弹出对话框的下部文本框中输入自变量)应在程序启动时提供您键入的内容。 (CodeBlocks也可以在Ubuntu和Windows上运行。) 为了确保您的代码正在处理参数,您可以在Win下启动-CMD.EXE,导航至(e:cd \ homework \ projectname)您的项目目录,然后进入cd bin \ Debug。执行DIR,您将看到EXE文件。那是程序运行的一部分。在按ENTER之前,输入其名称,空格和一些自变量。查看您的代码是否正在处理args OK。 (确保main看起来像:int main(int argc,char * argv []) 然后在main()中有一条语句:cout << argv [1] << endl; 应该会在EXE文件名之后显示您键入的第一个单词。