C 命令行参数
来源:互联网 发布:淘宝天猫店铺托管 编辑:程序博客网 时间:2024/06/05 23:54
C 命令行参数
执行程序时,可以从命令行传值给 C 程序。这些值被称为命令行参数,它们对程序很重要,特别是当您想从外部控制程序,而不是在代码内对这些值进行硬编码时,就显得尤为重要了。
命令行参数是使用 main() 函数参数来处理的,其中,argc 是指传入参数的个数,argv[] 是一个指针数组,指向传递给程序的每个参数。下面是一个简单的实例,检查命令行是否有提供参数,并根据参数执行相应的动作:
#include <stdio.h>int main( int argc, char *argv[] ) { if( argc == 2 ) { printf("The argument supplied is %s\n", argv[1]); } else if( argc > 2 ) { printf("Too many arguments supplied.\n"); } else { printf("One argument expected.\n"); }}
使用一个参数,编译并执行上面的代码,它会产生下列结果:
$./a.out testingThe argument supplied is testing
使用两个参数,编译并执行上面的代码,它会产生下列结果:
$./a.out testing1 testing2Too many arguments supplied.
不传任何参数,编译并执行上面的代码,它会产生下列结果:
$./a.outOne argument expected
应当指出的是,argv[0] 存储程序的名称,argv[1] 是一个指向第一个命令行参数的指针,*argv[n] 是最后一个参数。如果没有提供任何参数,argc 将为 1,否则,如果传递了一个参数,argc 将被设置为 2。
多个命令行参数之间用空格分隔,但是如果参数本身带有空格,那么传递参数的时候应把参数放置在双引号 "" 或单引号 '' 内部。让我们重新编写上面的实例,有一个空间,那么你可以通过这样的观点,把它们放在双引号或单引号""""。让我们重新编写上面的实例,向程序传递一个放置在双引号内部的命令行参数:
#include <stdio.h>int main( int argc, char *argv[] ) { printf("Program name %s\n", argv[0]); if( argc == 2 ) { printf("The argument supplied is %s\n", argv[1]); } else if( argc > 2 ) { printf("Too many arguments supplied.\n"); } else { printf("One argument expected.\n"); }}
使用一个用空格分隔的简单参数,参数括在双引号中,编译并执行上面的代码,它会产生下列结果:
$./a.out "testing1 testing2"Progranm name ./a.outThe argument supplied is testing1 testing2
阅读全文
0 0
- 【C/C++】命令行参数
- C C++ 命令行参数
- C/C++命令行参数
- C命令行参数
- c命令行参数
- C语言命令行参数
- c 语言 命令行参数
- C语言命令行参数
- C 命令行参数
- C语言命令行参数
- C 命令行参数
- C语言的命令行参数
- 命令行参数(C语言)
- C语言的命令行参数
- C语言中命令行参数
- C/C++命令行参数解析
- C语言中的命令行参数
- C语言解析命令行参数
- PAT A 1115. Counting Nodes in a BST (30)
- C# 打印DataTable 修正版 适应宽度超出一页 数据量超出一页的情况
- 【安卓学习笔记】JAVA基础Lesson2-JDK安装与环境配置
- Hadoop知识点整理
- 怎么轻松学习JavaScript
- C 命令行参数
- 第五章 处理器拦截器详解——跟着开涛学SpringMVC
- 区间DP模板
- TPO阅读总结
- JavaScript中的BOM(浏览器对象模型)
- 2017北大信科夏令营机试C:岛屿面积
- 快速排序-(交换排序)
- 可以从CSS框架中借鉴到什么
- Struts 2的基石——拦截器(Interceptor)