main函数argc,argv操作
来源:互联网 发布:java final 成员变量 编辑:程序博客网 时间:2024/05/21 16:56
序言:
使用main(int argc,char *argv[]) == main(int argc,char **argv)的基本操作是linux编程的最基本的一步,在windows下也是exe脱离IDE运行的必学技能,程序编译成功之后,在cmd下,使用参数输入来运行程序,自己控制程序参数的输入来测试和运行程序。
一、int argc,char *argv[]介绍
int argc代表输入参数的个数,英文全名arguments count,以空格来计数,程序名(*.exe)是为第一个参数。
char *argv[]以字符数组的方式储存参数内容,英文全名arguments vector,argv[1]代表程序名。
#include<iostream>#include<stdlib.h>using namespace std;int main(int argc,char *argv[]){cout<<"the argc is "<<argc<<endl;for (int i = 0;i<argc;i++){cout<<"argv["<<i<<"] is "<<argv[i]<<endl;}}运行程序的结果如下:
二、如何对argc和argv进行操作
对输入参数的个数和内容操作简单的可以归结为对int型变量和二维的字符数组char *argv[]的操作。
#include <iostream>#include <stdlib.h>#include <string>using namespace std;//函数的使用方法void printUsage(){cout<<"printUsage"<<endl;};int main(int argv,char *argc[]){int num;if (argv == 1)//如果没有第二个参数,打印使用方法{printUsage();return -1;}for (int i = 1;i<argv;i++){//当用户输入 --help或者?的时候,打印使用方法if ((string(argc[i]) == "--help")||(string(argc[i]) == "?")){printUsage();return -1;}//输入--times和一个数字的时候,把num赋值为输入的数字else if ((string(argc[i])=="--times")){num = atoi(argc[++i]);}//如果输入的是其他字符,无效输入elsenum = 0;}//打印test output,次数有输入的数字确定for( int i = 0;i<num;i++){cout<<"test output "<<i+1<<" time"<<endl;}}函数结果测试:
程序说明:
程序主要是测试将参数转换为字符串和int型数字,并对字符串和数字进行处理的功能实现。
可以看出将字符数组的内容转换为字符串是:
string(argc[i]) == "--help"
将字符数组的内容转化为 int 型 是:num = atoi(argc[++i]);
当然还有其他的转换函数等用到的时候在总结吧,暂时还只用到这些。
0 0
- main函数argc,argv操作
- main函数argc,argv操作
- Main函数参数argc,argv
- main函数参数argc argv[]
- main函数中argc,argv
- main函数的参数 argc argv env
- main 函数中的 argc argv[ ]的意义
- Main函数参数argc,argv说明
- Main函数参数argc,argv说明
- Main函数参数argc,argv说明
- Main函数参数argc,argv说明
- main函数中argc,argv说明
- Main函数参数argc,argv说明
- Main函数参数argc,argv如何传入
- Main函数中参数argc,argv说明
- Main函数参数argc,argv说明
- main函数的参数argc与argv
- MAIN函数的参数argc, argv说明
- 16进制颜色对照
- iOS证书如何发给其他人使用
- seo在外链建设避免几种误区
- Firefox OS简介
- WordPress友情链接函数wp_list_bookmarks调用
- main函数argc,argv操作
- Eclispe 的自动补全的设置
- Ajax的get和post方法
- 黑马程序员之Java--位运算
- Oracle常用命令
- 算法实践篇-基于计数排序的基数排序
- 黑马程序员_C语言的extern和static关键字
- DBus如何传送和接收数据
- 黑马java基础学习总结