2 hchchc6016 hchchc6016 于 2016.04.13 13:59 提问

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

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

3个回答

u010925938
u010925938   2016.04.13 14: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[]);

CSDNXIAOS
CSDNXIAOS   2016.04.13 14:02

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

oyljerry
oyljerry   Ds   Rxr 2016.04.13 18:33

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
【C命令行参数】main函数的参数含义
C中的命令行参数又叫位置参数,它可以被传到程序里面,派各种用途 我们先来看main函数的参数 int main( int argc, char *argv[ ], char *envp[ ] ) { program-statements }   main()函数的参数就是通过命令行来进行传参的; vs2013传参方式:项目->属性->配置属性->调试->命令行参数,然后进行
带参数的main函数和命令行参数
1.说明: 当系统调用主函数时,系统也可将参数 (命令行) 传给主函数,这个参数可以认为是 main函数的形式参数。2.格式: main(int argc, char *argv[ ]) 规定argc(第一个形参)必须是整型变量,argv( 第二个形参)必须是指向字符串的指针数组。加上形参说明后,(由于main函数不能被其它函数调用,那么,在何处把实参值赋予main函数的形参呢? 实际上,m
c/c++ main 函数命令行参数的使用 知识小结
C程序最大的特点就是所有的程序都是用函数来装配的。main()称之为主函数,是所有程 序运行的入口。其余函数分为有参或无参两种,均由main()函数或其它一般函数调用,若调用 的是有参函数,则参数在调用时传递。 C/C++语言中的main函数,经常带有参数argc,argv,如下: int main(int argc, char** argv) int main(int
Linux环境编程之进程(一):main函数调用、进程终止以及命令行参数和环境表
(一)main函数调用 main函数作为程序运行时的入口函数,它是如何被调用的呢?首先必须清楚一点,main函数也是一个函数,它只有被调用才能够执行。其实,在执行可执行程序时,在调用main函数之前,内核会先调用一个特殊的启动例程,将此启动例程作为可执行程序的起始地址。启动例程是如何作为可执行程序的起始地址的?这是由链接编译器设置的,而链接编译器则是由C编译器(如gcc编译器)调用的。启动例程作
带命令行参数的main函数详解[转载]
一、main()函数的形式     在最新的 C99 标准中,只有以下两种定义方式是正确的:  (参阅ISO/IEC 9899:1999 (E) 5.1.2.2.1 Program startup)         int main( void )--无参数形式          {           ...          return 0;         
c语言中main函数参数argc,argv说明,及命令行中如何传参数
方法1. C/C++语言中的main函数,经常带有参数argc,argv,如下: int main(int argc, char** argv) int main(int argc, char* argv[]) 这两个参数的作用是什么呢?argc 是指命令行输入参数的个数,argv存储了所有的命令行参数。假如你的程序是hello.exe,如果在命令行运行该程序,(首先应该在命令
不通过main函数获取命令行参数(Win/Linux/Qt)
在工作中遇到一个函数需要实现在不接受main函数传递参数的情况下获取命令行参数,查资料发现这方面现有资源比较少而且计算找到了也不怎么全面 Windows平台 使用getCommandLineW()函数获取命令行,然后用CommandLineToArgvW()函数解析为wchar_t**格式。这里实际上应该用getCommandLine函数(宏定义,指向宽字符形式[W]和窄字符形式[A]的两个函
命令行参数:关于java程序中main函数的String[] args参数的用法
刚开始学习Java的时候,我们并没有在意main方法里面的“String[] args”参数,但既然其存在,那必然有其相应的作用。 首先,我们给出一个函数: public class Test { public static void main(String[] args) { System.out.println(args[0]); Sys
C++main函数中的形式参数
C程序最大的特点就是所有的程序都是用函数来装配的。main()称之为主函数,是所有程序运行的入口。其余函数分为有参或无参两种,均由main()函数或其它一般函数调用,若调用的是有参函数,则参数在调用时传递。C/C++语言中的main函数,经常带有参数argc,argv,如下:int main(int argc, char** argv)int main(int argc, char* argv[]...
命令行参数的使用(讲解main函数的参数)
什么是命令行参数? linux下经常会使用命令行参数 例如: ls -l gcc test.c -E test.i 这些在后面加入的-l 、-E、test.c之类的的东西我们统称为命令行参数 那他们是如何实现的?