怎样给控制台程序传递命令行参数呀?

qingfeng_happy5 2010-05-06 01:33:11

#include "stdafx.h"
#include <process.h>

int _tmain(int argc, _TCHAR* argv[])
{
printf("传入的参数为 %s ,%s , %s \n",argv[1],argv[2],argv[3]);

system("PAUSE");
return 0;
}
像这个控制台程序,我想知道,从外部怎样才能给这个控制台程序传入参数,就是_tmain函数的第二个参数。
...全文
2325 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
你妹的特盗不 2010-05-06
  • 打赏
  • 举报
回复
如果你要在vs里面在调试的时候,自动加上参数的话

在项目属性里面 Debugging-》Command Arguments 里面写上你的参数
你妹的特盗不 2010-05-06
  • 打赏
  • 举报
回复
[Quote=引用楼主 qingfeng_happy5 的回复:]
C/C++ code

#include "stdafx.h"
#include <process.h>

int _tmain(int argc, _TCHAR* argv[])
{
printf("传入的参数为 %s ,%s , %s \n",argv[1],argv[2],argv[3]);

system("PAUSE");
return 0;
……
[/Quote]

4楼说得对,你这样使用的话,比如你的程序名字叫 a.exe
你可以在cmd 里面这样使用 a.exe abc 123 456
但是打印出来的信息,就是 a 1 4 只有第一个字符......要用wprintf
社会栋梁 2010-05-06
  • 打赏
  • 举报
回复
 批处理是一种简化的脚本语言,它应用于DOS和Windows系统中,它是由DOS或者Windows系统内嵌的命令解释器(通常是COMMAND.COM或者CMD.EXE)解批处理文件图标释运行。类似于Unix中的Shell脚本。批处理文件具有.bat或者.cmd的扩展批处理窗口名,其最简单的例子,是逐行书写在命令行中会用到的各种命令。更复杂的情况,需要使用if,for,goto等命令控制程序的运行过程,如同C,Basic等中高级语言一样。如果需要实现更复杂的应用,利用外部程序是必要的,这包括系统本身提供的外部命令和第三方提供的工具或者软件。批处理文件,或称为批处理程序,是由一条条的DOS命令组成的普通文本文件,可以用记事本直接编辑或用DOS命令创建,也可以用DOS下的文本编辑器Edit.exe来编辑。在“命令提示”下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe运行该批处理程序。一般情况下,每条命令占据一行;当然也可以将多条命令用特定符号(如:&、&&、|、||等)分隔后写入同一行中;还有的情况就是像if、for等较高级的命令则要占据几行甚至几十几百行的空间。系统在解释运行批处理程序时,首先扫描整个批处理程序,然后从第一行代码开始向下逐句执行所有的命令,直至程序结尾或遇见exit命令或出错意外退出。
qingfeng_happy5 2010-05-06
  • 打赏
  • 举报
回复
有人告诉我说,在exe所在文件夹内创建一个.bat的批处理文件,然后在文件中输入应用程序名 -参数1 -参数2 -参数3,再双击批处理文件就可以运行那个控制台程序了,而且参数也传递进去了。我想知道,这是什么道理呀?批处理文件和那个exe文件有什么关系吗?
Eleven 2010-05-06
  • 打赏
  • 举报
回复
[Quote=引用楼主 qingfeng_happy5 的回复:]
C/C++ code

#include "stdafx.h"
#include <process.h>

int _tmain(int argc, _TCHAR* argv[])
{
printf("传入的参数为 %s ,%s , %s \n",argv[1],argv[2],argv[3]);

system("PAUSE");
return 0;
……
[/Quote]
注意一下字符编码问题,其他的ls的已经给出。。。
社会栋梁 2010-05-06
  • 打赏
  • 举报
回复
CreateProcess(“c:\\test.exe”,“ 参数1 参数2 参数3”, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);

fox000002 2010-05-06
  • 打赏
  • 举报
回复
打开 cmd

输入:程序名+参数(以空格分隔)

或者 VC 中设置 Program Arguments
shenyi0106 2010-05-06
  • 打赏
  • 举报
回复
应用程序名 -参数1 -参数2 -参数3

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧