命令行参数(带参main)

简介: int main(int argc, char * argv[]){ ……} 参数argc就代表启动程序时,命令行参数的个数。C/C++语言规定,可执行程序程序本身的文件名,也算一个命令行参数,因此,argc的值至少是1。

int main(int argc, char * argv[])
{
 ……
}
 参数argc就代表启动程序时,命令行参数的个数。C/C++语言规定,可执行程序程序本身的文件名,也算一个命令行参数,因此,argc的值至少是1。
参数argv是一个数组,其中的每个元素都是一个char* 类型的指针,该指针指向一个字符串,这个字符串里就存放着命令行参数。
argv[0]指向的字符串就是第一个命令行参数,即可执行程序的文件名
argv[1]指向第二个命令行参数
argv[2]指向第三个命令行参数……。
#include <stdio.h>
int main(int argc, char * argv[])
{
 for(int i = 0;i < argc; i ++ )
  printf( "%s\n",argv[i]);
 while(argc-->=1)
 {
  *(++argv);//这样就不输出文件名啦
 }
   
 return 0;
}

将上面的程序编译成sample.exe,然后在控制台窗口输入:
sample para1 para2 s.txt 5 4
输出结果就是:
2.18(垃圾)//对应文件名sample
para1
para2
s.txt
5
4
注意:main函数不可以被其它函数调用,因此不可能从程序内部获得实参,只能通过操作系统的命令行,argc自动赋初值
要想将空格也作为参数,需加上双引号

目录
相关文章
|
2月前
|
编译器 C语言
2.1 main函数
在C程序中,执行总是从`main()`函数开始。`main()`函数为程序的基本模块,其返回类型为`int`,表示返回一个整数值。尽管函数名后的括号通常包含传入信息,但在本例中其为空,表明无参数传递。注意旧版C代码可能省略`int`与`(void)`,但现代标准如C99和C11不支持这种写法,因此应避免使用。
26 8
|
6月前
|
Dart 编译器
Dart基础-main及变量、常量、注释
Dart基础-main及变量、常量、注释
|
7月前
VS2015中main函数带参数运行
VS2015中main函数带参数运行
132 0
|
6月前
|
小程序 Java
Java程序利用main函数中args参数实现参数的传递
Java程序利用main函数中args参数实现参数的传递
381 0
|
7月前
|
程序员 Shell C语言
【C/C++ main函数】深入探索C++中的main函数及其参数
【C/C++ main函数】深入探索C++中的main函数及其参数
946 0
|
7月前
|
存储 设计模式 算法
[C++] static静态成员变量/函数的用法
[C++] static静态成员变量/函数的用法
109 1
|
Java
main参数
main参数
59 0
main参数
|
编译器 C++
C++ 是否存在一个在main()主函数之前就执行的函数? 这个可以有!
C++ 是否存在一个在main()主函数之前就执行的函数? 这个可以有!
138 0
|
Java
main主函数(主方法)里头的参数String[] args有啥作用?
很多老铁不清楚JAVA主方法中main()里面的的参数是什么意思,以及有什么作用,接下来给大家用最通俗易懂的话来讲解。
193 0
main主函数(主方法)里头的参数String[] args有啥作用?
|
C语言 固态存储
可变参数宏__VA_ARGS__和...
__VA_ARGS__ 是一个可变参数的宏(gcc支持)。实现思想就是宏定义中参数列表的最后一个参数为省略号(也就是三个点)。这样预定义宏_ _VA_ARGS_ _就可以被用在替换部分中,替换省略号所代表的字符串。
2500 0