hchchc6016
2016-04-13 05:59
采纳率: 91.2%
浏览 2.0k

c++main函数的命令行参数问题

int main(int argc,char *argv[]);
函数从命令行读取参数
1.是不是只有生成了test.exe文件之后才能从命令行读取参数(因为我看见 好多都是在命令行输入test.exe后面再加一些参数这样子的),也就是说 我还在调试阶段就不能从命令行输入参数?
2.没有从命令行输入参数的时候,argc=1,*argv[0]是程序的路径的名称,如果main后面的括号里面没有东西,是不是意味着我不能在命令行里运行他,因为找不到路径?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 雪未成型 2016-04-13 06:19
    已采纳

    1.如果你是在DOS窗口下运行程序下的话,需要你生成.exe程序后,执行,形如:*.exe arg1 arg2,这是一种从主函数中读取命令行参数的方法。其实你也可以直接在项目属性中设置,设置主函数要接收的参数,以vs2013为例,工程-》属性-》配置属性-》调试,在右侧有一个命令参数,你可以将主函数要接收的参数,写进行,中间以空格分开。注意,这里的参数没有*.exe。直接写arg1,arg2。
    2.如果你的main函数没有写成int main(int argc,char *argv[]);这种形式,那么主函数就不能接收函数参数。
    总之,如果要接收函数参数,则必须要这么写int main(int argc,char *argv[]);

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • Robot-S 2016-04-13 06:02

    很多时候我们的程序需要从外部获取一些运行时的参数,比如我的主程序 去调用另外一个exe或者其他的程序,在调用外部可执行程序的时候,一般我们都需要传入一些参数。 那么在我们的外部程序 如何来获取传入的参数呢?
       下面我们来看一下: 
       在WinMain函数的主函数中,已经传入了一个参数 LPTSTR    ......
    答案就在这里:关于Main函数的命令行参数
    ----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

    评论
    解决 无用
    打赏 举报
  • oyljerry 2016-04-13 10:33

    调试的时候,你可以在编译器的debug选项中填上你希望的调试参数,这样调试的时候,就会收到这个参数给你来调试

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题