int main(int argc, char* argv[])
以前学C语言的时候,很少用到int argc,char *argv[],感觉没啥用,所以也就没怎么了解。现在用到了,来学习一下。argc命令行输入参数的数量,argv是字符数组,看代码。
[mapan@localhost mapam]$ ls
test.cpp
[mapan@localhost mapam]$ g++ test.cpp
[mapan@localhost mapam]$ cat test.cpp
#include<stdio.h>int main(int argc,char *argv[])
{ printf("argv[0]=%s\n",argv[0]);//printf("argv[1]=%s\n",argv[1]);printf("argv[2]: %s\n",argv[2]);printf("argv[3]: %s\n",argv[3]);printf("argv[4]: %s\n",argv[4]);printf("argv[5]: %s\n",argv[5]);printf("argv[6]: %s\n",argv[6]);printf("argv[7]: %s\n",argv[7]);printf("argv[8]: %s\n",argv[8]);printf("argv[9]: %s\n",argv[9]);printf("argv[10]: %s\n",argv[10]);return 0;
}
[mapan@localhost mapam]$ ./a.out
argv[0]=./a.out
argv[2]: HOSTNAME=localhost.localdomain
argv[3]: TERM=xterm
argv[4]: SHELL=/bin/bash
argv[5]: HISTSIZE=1000
argv[6]: SSH_CLIENT=192.168.1.51 13559 22
argv[7]: QTDIR=/usr/lib64/qt-3.3
argv[8]: OLDPWD=/home/mapan/test
argv[9]: QTINC=/usr/lib64/qt-3.3/include
argv[10]: SSH_TTY=/dev/pts/1
[mapan@localhost mapam]$
我没有打印arvg[1],因为我只输入./a.out这一个字符串,打印argv[1]会段错误。上面打印的一些字符串都是系统相关的,如果你要用argv[n]要记得在命令行输入相应的参数,不然可能会产生段错误,可能的原因是内存越界。所以在使用的时候有必要进行判断一下。
[mapan@localhost mapam]$ ./a.out a b c d
argv[0]=./a.out
argv[2]: b
argv[3]: c
argv[4]: d
argv[5]: (null)
argv[6]: HOSTNAME=localhost.localdomain
argv[7]: TERM=xterm
argv[8]: SHELL=/bin/bash
argv[9]: HISTSIZE=1000
argv[10]: SSH_CLIENT=192.168.1.51 13559 22
argv[1]应该是a
今天遇到的问题,找到原因发现也就这点东西。
int main(int argc, char* argv[])相关推荐
- C++ 笔记(26)— 主函数 main(int argc, char *argv[]) 参数说明
带形参的 main 函数,如 int main( int argc, char* argv[], char **env ) 是 UNIX .Linux 以及 Mac OS 操作系统中 C/C++ 的 ...
- int main(int argc,char *argv[]),主函数的参数问题
主函数的参数 在VC++中,我们有时候看到一些程序的主函数是带有参数的,虽然我们经常用到VC++但是对主函数的参数并不是很理解: int main(int argc,char *argv[]) 对于里 ...
- 关于int main( int argc, char* argv[] ) 中arg和argv参数理解
在示例程序中经常可以看到argc和argv这两个参数 ,在调试代码过程中遇到main函数为int main( int argc, char* argv[] ) 这种类型时往往会报错,或者是运行起来了但 ...
- int main( int argc , char *argv[] , char *envp[] )中参数解说
原文链接:https://blog.csdn.net/mengyandelove/article/details/82285504 argc是命令行总的参数个数 argv[]是argc个参数,其中第0 ...
- 关于main函数的(int argc,char *argv[])
main(int argc,char *argv[ ]) argv为指针的指针 argc为整数 char **argv or: char *argv[] or: char argv[][] main( ...
- 关于int main(int argc,char *argv[])
在int main(int argc,char *argv[])中的int argc和char *argv[]都是用来在命令行里传递参数.在Linux环境下用的最多,Windows环境下一般用得较少. ...
- 主函数main中变量(int argc,char *argv[ ])的含义
一直不太理解 int main( int argc, char* argv[] ) 或者 int main( int argc, char** argv ) 经典例子 对于理解argv[ ]函数很管用 ...
- 关于 命令行参数 main(int argc,char** argv)
void main(int argc, char* argv[ ])等同于void main(int argc, char* *argv) 这行中有三个字符串分别为 cp.exe doc1.txt d ...
- linux c之main(int argc, char *argv[], char *envp[])参数意义
1.问题 我们常见的int main(int argc, char *argv[], char *envp[]) 各个参数的意义 2.代码 #include<stdio.h> #inclu ...
最新文章
- HttpClient(联网)
- android - 拍照
- springboot2自定义HttpTraceRepository
- HTML5+PhoneGap相机拍照
- 从零开始学网络|搞懂OSI参考模型和TCP/IP分层模型,看这篇文章就够了
- 你真的适合做前端吗?自学入行的那些坑
- HCIE Security 常见WEB攻击 备考笔记(幕布)
- 复杂网络-无标度网络BA模型
- ZZULIOJ:1047: 对数表
- ueditor imageup.php,ThinkPHP整合百度Ueditor,thinkphpueditor_PHP教程
- Unity 初识:创建游戏场景
- VScode打不开浏览器方法总结
- repl_backlog原理是什么
- windos10系统 激活
- ‘class QFontMetrics‘ has no member named ‘horizontalAdvance‘
- Python调用百度AI接口
- Epalloy8240亨斯迈Huntsman低粘度、低水解氯、反应活性高官能度为2.35的酚醛环氧树脂
- vue2.0 渲染列表在苹果手机加载不出来的问题
- jenkins api java封装_Jenkins api java 调用
- 搜索引擎关键词快速排名软件_上海搜索引擎关键词排名优化费用-电话
热门文章
- python3.6+RF连接mysql
- Java三大特性之封装
- 病毒木马防御与分析实战
- HDU 4850 Wow! Such String! 【欧拉回路】【一顿乱构造】
- 给交叉编译工具建立软连接用脚本
- 小白学phoneGap《构建跨平台APP:phoneGap移动应用实战》连载一(PhoneGap中的API)...
- 【转】推荐给初级Java程序员的3本进阶书
- 开源MongoDB管理工具MongoCola1.20 发布 离开IBM GDC的最后一个版本
- Sql server 2005系统表详细说明
- IT人不要一直做技术[转载]