argc & argv

argc & argv

win32控制台程序经常看到main函数是如下格式的:

int _tmain(int argc, _TCHAR* argv[])
{
  ...
  retrun 0;
}

argc和argv都有些什么含义呢?
用过ping命令的一定熟悉ping的格式,举例:

ping 127.0.0.1 -t 
ping运行效果

如果要开发一个ping的程序,这里传进来的argc等于3,即命令参数的个数,
而argv是一个字符串的数组,数组长度为3:

argv[0] = ping
argv[1] = 127.0.0.1
argv[2] = -t

VS中如何开发带参数的win32程序

如何调试

设置传入的参数

代码举例

#include "stdafx.h"
#include <stdlib.h>
#include <atlconv.h>

int _tmain(int argc, _TCHAR* argv[])
{
    USES_CONVERSION;

    printf("argc: %d\n", argc);

    char *pszBuffer = NULL;
    for (int i = 0; i < argc; i++)
    {
        pszBuffer = W2A(argv[i]);
        printf("argv[%d] : %s\n", i, pszBuffer);
    }

    pszBuffer = NULL;

    return 0;
}

运行结果:


运行结果
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 14,184评论 2 33
  • **C/C++语言中的main函数,经常带有参数argc,argv,如下: 这两个参数的作用是什么呢?第一个参数a...
    harrytc阅读 5,232评论 0 0
  • argc是命令行总的参数个数,argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数命令行后面跟的用...
    忆亿亿光年阅读 2,915评论 0 0
  • 一般而言,main函数中不带参数,但时长会发现,main函数中带有两个参数,其中argc用来记录argv中参数的个...
    sunsimple阅读 3,382评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,328评论 19 139