iOS多年main函数中的参数你可明白??

作者: YKDog | 来源:发表于2016-06-02 23:59 被阅读1039次
那些年让我费解的第一行代码

前言

今天就说一个问题 main.m中的参数是什么意思?
我分两个部分来说明

  • 终端打印单个参数说明
  • 怎么去自己定义

一、终端的打印验证

在这里我先说一些简单的问题, char *argv[]。argv是一个数组, 数组的每一个元素都是一个指针, 每个指针都保存字符的地址。如果你是初学者可以去看一些复合指针的确认。

code - Prameter.c

  int main(int argc, const char *argv[]){
        printf("argc = %d\n", argc);
        printf("Hello, world!\n");
        return 0;
}

结果

argc = 1
Hello, world!

在终端执行的使用使用了命令
gou:C gouyuankai$ cc Prameter.c
gou:C gouyuankai$ ./a.out

a.out 是程序的可执行文件, 这个用命令调用的时候没有用到其他参数。所以只有一个命令参数。打印1.所以argc 表示命令参数个数

例如我们经常使用的:
cp 源路径 目标路径

这里有三个参数, argc就是3. 源路径和目标路径是两个参数, 传入程序的char *argv[]数组中保存。如果不是很好理解的话看看下边的例子吧。

二、写一个自己的命令

比如我要使用命令行自己写一个命令
YKCopy a.txt b.txt 实现a.txt 中的内容拷贝到b.txt中

那么YKCopy就是这个可执行文件名字, 相当与平时的a.out
我直接上代码:
Code

int main(int argc, const char* argv[]){


        //获得两个路径
        const   char *src = argv[1];

        printf("%s\n", src);

        const char *dest = argv[2];

        printf("%s\n", dest);

        //1读取源路径
        FILE *fpr = fopen(src, "r");
        if(fpr==NULL) printf("error");

        FILE *fpw = fopen(dest, "w");

        char ret;
        //2.拷贝
        while((ret = fgetc(fpr)) != EOF){

                fputc(ret, fpw);
        }

        fclose(fpr);
        fclose(fpw);

}
命令行执行顺序

相关文章

  • iOS多年main函数中的参数你可明白??

    前言 今天就说一个问题 main.m中的参数是什么意思?我分两个部分来说明终端打印单个参数说明怎么去自己定义 一、...

  • Kotlin-HelloWorld

    1、HelloWorld以及函数的调用,默认参数 2、打印main中传入的参数 不明白这个main中的参数代表什么...

  • ROS传参的几种方法

    一、通过main函数 参数保存在main函数的argc和argv变量中 1)rosrun启动 输出结果: 2)也可...

  • iOS 事件传递机制和响应者链条

    iOS中加载的时候会先执行main函数 根据main函数的参数加载UIApplication->AppDelega...

  • iOS main函数知多少

    iOS main函数 一个 iOS App 的 main 函数位于 main.m 中,这是我们熟知的程序入口。但对...

  • C++中main(argc,argv)

    一般而言,main函数中不带参数,但时长会发现,main函数中带有两个参数,其中argc用来记录argv中参数的个...

  • iOS之UIView

    初识iOS APP开发#### 在iOS APP开发中, main函数仍是程序的入口和出口, 但main函数不需要...

  • int main(int argc, char* argv[])

    main函数的参数,经常用的main函数都是不带参数的。因此main后的括号都是空括号。实际上,main函数可以带...

  • golang 基础(11)函数参数

    函数中的参数 定义函数可以没有任何参数就像 main 函数 定义函数的参数时和其他语言没有什么不同,指定参数名称和...

  • iOS中可变参数个数方法

    一个可变参数函数是指一个函数拥有不定的参数,即为一个函数可接收多个参数。 在iOS中比较常见的比如NSArray中...

网友评论

    本文标题:iOS多年main函数中的参数你可明白??

    本文链接:https://www.haomeiwen.com/subject/jzpkdttx.html