处理命令行参数的命令

#include<stdlib.h>
#include<stdio.h>

#define TURE 1

void process_standered_input(void);
void process_file(char* filename);

int option_a,option_b;

/*处理命令行参数的命令*/
//类似于prog -a -b -c name1 name2 name3的命令行输入参数命令
int main(int argc,char **argv)
 {
	 while(*++argv!=NULL&&**argv==‘-‘)//跳到下一个参数,并检查其是否为‘-’开头
	 {
		 switch(*++*argv)//判断每个‘-’后面的参数是什么
		 {
			 case ‘a‘:
				 option_a=TURE;
				 break;
			 case ‘b‘:
				 option_b=TURE;
				 break;
		 }
	 }
	 if(*argv==NULL)//若是后面没有了。则执行标准输入命令
		 process_standered_input();
	 else
	 {
		 do
		 {
			 process_file(*argv);//否则对后面的文件进行处理
		 } while (*++argv!=NULL);
	 }

	 system("pause");
	 return 1;
 }

  

#include<stdlib.h>
#include<stdio.h>

#define TURE 1

void process_standered_input(void);
void process_file(char* filename);

int option_a,option_b;

/*处理命令行参数的命令*/
//类似于prog -abc name1 name2 name3的命令行输入参数命令
int main(int argc,char **argv)
 {
	 int opt;
	 while(*++argv!=NULL&&**argv==‘-‘)//跳到下一个参数,并检查其是否为‘-’开头
	 {
		while((opt=*++*argv)!=NULL) //检查第二个参数,即一‘-’开头的后面的部分的选项
		{
			switch(opt)
			{
			case ‘a‘:
				option_a=TURE;
				break;
			case ‘b‘:
				option_b=TURE;
				break;
			}
		}
	 }

	 if(*argv==NULL)//若是后面没有了。则执行标准输入命令
		 process_standered_input();
	 else
	 {
		 do
		 {
			 process_file(*argv);//否则对后面的文件进行处理
		 } while (*++argv!=NULL);
	 }

	 system("pause");
	 return 1;
 }

  

时间: 2024-07-28 12:45:47

处理命令行参数的命令的相关文章

Shell特殊变量:Shell $0, $#, $*, [email&#160;protected], $?, $$和命令行参数

变量名只能包含数字.字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量. 例如,$ 表示当前Shell进程的ID,即pid,看下面的代码: $echo $$ 运行结果 29949 特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数.n 是一个数字,表示第几个参数.例如,第一个参数是$1,第二个参数是$2. $# 传递给脚本或函数的参数个数. $* 传递给脚本或函数的所有参数. [email protected] 传递给脚本或函数的所有参数.被

Shell特殊变量:$0, $#, $*, [email&#160;protected], $?, $$和命令行参数

变量名只能包含数字.字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量. 特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数.n 是一个数字,表示第几个参数. 例如,第一个参数是$1,第二个参数是$2. $# 传递给脚本或函数的参数个数. $* 传递给脚本或函数的所有参数. [email protected] 传递给脚本或函数的所有参数.被双引号(" ")包含时,与 $* 稍有不同,下面将会讲到. $? 上个命令的退出状态,或函数的

【转】shell 教程——07 Shell特殊变量:Shell $0, $#, $*, [email&#160;protected], $?, $$和命令行参数

前面已经讲到,变量名只能包含数字.字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量. 例如,$ 表示当前Shell进程的ID,即pid,看下面的代码: $echo $$ 运行结果 29949 特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数.n 是一个数字,表示第几个参数.例如,第一个参数是$1,第二个参数是$2. $# 传递给脚本或函数的参数个数. $* 传递给脚本或函数的所有参数. [email protected] 传递给脚本或函数

VS2013 带命令行参数的调试问题 解决方案

首先先解释一下 int main(int argc,char* argv[])的含义 argc是命令行总的参数个数 argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数命令行后面跟的用户输入的参数 比如: int   main(int   argc,   char*   argv[]) { int   i; for   (i   =   0;   i<argc;   i++) cout<<argv[i]<<endl; cin>>i; return 

【Shell脚本学习8】Shell特殊变量:Shell $0, $#, $*, [email&#160;protected], $?, $$和命令行参数

前面已经讲到,变量名只能包含数字.字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量. 例如,$ 表示当前Shell进程的ID,即pid,看下面的代码: $echo $$ 运行结果 29949 特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数.n 是一个数字,表示第几个参数.例如,第一个参数是$1,第二个参数是$2. $# 传递给脚本或函数的参数个数. $* 传递给脚本或函数的所有参数. [email protected] 传递给脚本或函数

[Python] sys.argv命令行参数传入

书上一道题需要实现功能"根据账号查询密码, 复制密码到剪贴板". 账号和密码储存在代码字典中. 问题描述: 作为Python新手从代码(如下)看只知道: 1. sys.argv初始包含一行文件路径. 2. 需要将待查询的账号传入sys.argv. 怎么操作呢? #! python3 #pw.py - An inssecure password locker program. #Run this program in CMD, parameter (account) load after

如何编写一个带命令行参数的Python文件

看到别人执行一个支持命令行参数的python文件,瞬间觉得高大上起来.牛逼起来,那么如何编写一个带命令行参数的python脚本呢?不用紧张,下面将简单易懂地让你学会如何让自己的python脚本,支持命令行参数. 首先你要知道python中的sys模块的一些功能: import sys print "the number of python program's argument:",len(sys.argv) print "the value of every argument

main 函数argc , argv 主命令行参数

ARGc和ARGv中的ARG指的是"参数"(ARGuments, argument counter 和 argument vector ) 至少有两个参数至主函数:ARGc和ARGv: 首先是一个至算提供的参数到程序, 第二个是对字符串数组的指针. 基本作用: argc, argv 用命令行编译程序时有用. 主函数main中变量(int argc, char *argv[ ])的含义 有些编译器允许将main()的返回类型声明为void,这已不再是合法的C++; main(int ar

聊聊默认支持的各种配置源[内存变量,环境变量和命令行参数]

聊聊默认支持的各种配置源[内存变量,环境变量和命令行参数] 较之传统通过App.config和Web.config这两个XML文件承载的配置系统,.NET Core采用的这个全新的配置模型的最大一个优势就是针对多种不同配置源的支持.我们可以将内存变量.命令行参数.环境变量和物理文件作为原始配置数据的来源,如果采用物理文件作为配置源,我们可以选择不同的格式(比如XML.JSON和INI等) .如果这些默认支持的配置源形式还不能满足你的需求,我们还可以通过注册自定义ConfigurationSour