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

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

该计划是:

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

但是,当我编译当前文件,然后运行该程序时,会出现一个终端。 但是,终端不等待命令行输入并直接输出

  

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

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

Project > Set programs' arguments...

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

如果需要,可以在代码之前创建项目,然后单击“项目” – >“设置程序参数”。

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

如果您从IDE运行程序,则应该有一些方法(例如项目属性)在运行时将参数传递给程序。 对于CodeBlocks,请检查项目菜单: Project-> Set Program Arguments

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

 $ myProgram argument1 

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

代码块的项目 – 设置程序的参数(然后在弹出对话框的下部文本框中键入参数)应该提供您在程序启动时键入的内容。 (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文件。