C++程序中main(int argc, char *argv[])函数的参数意义
在vs中编写C++程序时,可以往主函数里传递两个参数:main(int argc,char *argv[]
)。主函数不能被其它函数调用,在window操作系统下调用者是。
测试程序如下所示:
#include "stdafx.h" #include "iostream" using namespace std; int main(int argc,char *argv[]) { int i; for (i = 0; i < argc; i++) { cout << "argument" << i << ": " << argv[i] << endl; } cout << "total argument:" << argc; return EXIT_SUCCESS; }
程序编译完成后会生成一个.exe后缀的可执行文件:
在Dos命令窗口中,转到程序所在的路径后,直接写入程序名时,有如下结果:
在程序名称后面跟上一系列参数时,有如下结果:
从而可以得出结论:两个参数中第一个参数argc表示在Dos命令行中的输入的程序名和参数个数之和,第二个参数中argv[0]记录的程序名,后面的argv[i]记录的输入参数。
另外argc argv是标识符,可以修改名称。
总结
以上所述是小编给大家介绍的C++程序中main(int argc, char *argv[])函数的参数意义,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
相关推荐
-
C++改变编程入口为main函数
1, 你用vc建了一个控制台程序,它的入口函数应该是main, 而你使用了WinMain. 2. 你用vc打开了一个.c/.cpp 文件,然后直接编译这个文件,这个文件中使用了WinMian而不是main作为入口函数.vc这时的默认设置是针对控制台程序的. 解决方法 1.进入project->setting->c/c++, 在category中选择preprocessor,在processor definitions中删除_WINDOWS, 添加_CONSOLE 2.进入project-&
-
C语言中 int main(int argc,char *argv[])的两个参数详解
C语言中 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 0; } 执行时敲入 F:\MYDOCU
-
C++程序中main(int argc, char *argv[])函数的参数意义
在vs中编写C++程序时,可以往主函数里传递两个参数:main(int argc,char *argv[]).主函数不能被其它函数调用,在window操作系统下调用者是. 测试程序如下所示: #include "stdafx.h" #include "iostream" using namespace std; int main(int argc,char *argv[]) { int i; for (i = 0; i < argc; i++) { cout
-
C语言程序中递归算法的使用实例教程
1.问题:计算n! 数学上的计算公式为: n!=n×(n-1)×(n-2)--2×1 使用递归的方式,可以定义为: 以递归的方式计算4! F(4)=4×F(3) 递归阶段 F(3)=3×F(2) F(2)=2×F(1) F(1)=1 终止条件 F(2)=(2)×(1) 回归阶段 F(3)=(3)×(2) F(4)=(4)×(6) 24 递归完成 以递归方式实现阶乘函数的实现: int fact(int n) { if(n < 0) return 0; else if (n == 0 || n =
-
在PHP程序中使用Rust扩展的方法
C或PHP中的Rust 我的基本出发点就是写一些可以编译的Rust代码到一个库里面,并写为它一些C的头文件,在C中为被调用的PHP做一个拓展.虽然并不是很简单,但是很有趣. Rust FFI(foreign function interface) 我所做的第一件事情就是摆弄Rust与C连接的Rust的外部函数接口.我曾用简单的方法(hello_from_rust)写过一个灵活的库,伴有单一的声明(a pointer to a C char, otherwise known as a strin
-
Linux中使用C语言的fork()函数创建子进程的实例教程
一.fork入门知识 一个进程,包括代码.数据和分配给进程的资源.fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事. 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间.然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来的进程的值不同.相当于克隆了一个自己. 我们来看一个例子: #include <unistd.h> #include &
-
C语言main函数的参数及其返回值详细解析
返回值的作用 main函数的返回值用于说明程序的退出状态.如果返回0,则代表程序正常退出:返回其它数字的含义则由系统决定.通常,返回非零代表程序异常退出.下面我们在winxp环境下做一个小实验.首先编译下面的程序:int main( void ){ return 0;}然后打开附件里的"命令提示符",在命令行里运行刚才编译好的可执行文件,然后输入"echo%ERRORLEVEL%",回车,就可以看到程序的返回值为0.假设刚才编译好的文件是a.exe,如果输入&
-
C语言main()函数的参数问题详解
#include<stdio.h> void main(int argc, char* argv[]) { while (argc > 1) { ++argv; printf("%s\n", argv); --argc; } } #include<stdio.h> #include<stdlib.h> void main(int argc, char* argv[]) { int i; printf("The number of st
-
C++浅析程序中内存的分布
C++之程序的内存分布 最近在复习C++相关的知识,整理一下. C++的存储区主要有以下几类: 栈区:就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区.里面的变量通常是局部变量.函数参数等. 堆区:就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete.如果程序员没有释放掉, 那么在程序结束后,操作系统会自动回收.只new不delete会造成内存泄漏. 全局/静态存储区:全局变量和静态变量(static修饰的变量
-
在C++程序中开启和禁用Windows设备的无线网卡的方法
1.列出当前网卡:SetupDiEnumDeviceInfo 2.找出当前无线网卡的名字(用natvie wifi api) 3.卸载\安装此驱动 问题: log为:SetupDiSetClassInstallParams failed. -536870347 完整代码如下: // ControlWirelessCard.cpp : Defines the entry point for the console application. // #include "stdafx.h"
-
探讨编写int strlen(char *strDest);不允许定义变量的问题
在论坛上看到一位前辈当年的面试题,原话是这样说的"有一次在面试时遇到这样一个问题:不允许调用库函数,也不允许使用任何全局或局部变量编写 int strlen(char *strDest); ",无意中看到,自己想了一会儿,没有思路,后来整理了各位牛人的回复,觉得采用递归方法解决这个问题,是一种挺好的办法!于是,稍微写了一下代码,算是开拓视野的一点点积累吧! 复制代码 代码如下: #include "stdafx.h"#include <iostream>
随机推荐
- Oracle去掉特殊字符的具体方法
- javascript call和apply方法
- 基于HashMap遍历和使用方法(详解)
- iOS中捕获日志与异常示例详解
- PHP捕获Fatal error错误的方法
- PHP mysqli_free_result()与mysqli_fetch_array()函数详解
- python字符串替换的2种方法
- 用python记录运行pid,并在需要时kill掉它们的实例
- 一个带采集远程文章内容,保存图片,生成文件等完整的采集功能
- c#接口使用示例分享
- MySQL删除外键问题小结
- mysql unsigned 用法及相减出现补数溢出解决方法
- Linux命令学习总结:详解shutdown命令
- 动态创建script在IE中缓存js文件时导致编码的解决方法
- C++堆排序算法的实现方法
- Android开发 -- 状态栏通知Notification、NotificationManager详解
- ThinkPHP基本的增删查改操作实例教程
- PHP的Json中文处理解决方案
- 利用信号如何监控Django模型对象字段值的变化详解
- vue better-scroll插件使用详解