00:00
但也无所谓了。这个有点早啊,这个例子应该在后面呢。后面我想起来了,这个程序里面确实有啊,是在哪呢?是在这个。啊,这呢,看到了吧。看啊,这个是慢函数,作为指定参数形式存在,但是今天讲就讲了吧,因为讲开心了啊,多加点内容,把以后的也讲了,什么内容呢?比如说我这里面LS后面加什么参数是不是啊,怎么什么叫参数呢?比如说这里面是杠al,这是第一个参数啊啊,这是查看文件这呃,这里面在用什么,在用这个是。拷啊找S。有点线梯吗?没有是吧?啊,这里面是A1,呃是A1.c,然后拷贝到哪啊,拷贝到这个是另外一个旁边下面是点斜杠0223,然后是斜杠什么呀?斜杠是s.TS.t加T以及什么点斜杠0223,然后。
01:03
ae.c那你看我这里面如果执行情况,你看这是不是我们的应用程序啊,啊,后面情况加的都是什么?加的都是这个对应函数的参数是不是是不是参数啊,这里面参数有一个是不是也可以有多个啊,那谁负责记住这件事呢?是主函数中的两个参数负责记住这件事,记住是主函数中有两个参数,这就代码我不知情啊,是哪两个参数呢?看下程序啊,是呃,CD0。CD020223,然后是D01了,MMMKDR是D07了吧,嗯。啊。这零七,然后执行一下CDG07,然后是VI。A1.c插入写文件。In的类型min,平时我们都写什么,都写word是不是,或者你写空是不写啊,其实这里面是可以在程序被唤醒起来,记住这句话叫程序被唤起来,这是什么时候吧,你在运行的时候是不是被被唤醒起来的时候,可以附带着传递参数,知道吧,就是我们这里面是模拟什么呀,主函数被调用的过程知道吧,就和其他调用函数调用过程是一样的,知道吧,那这里面有俩参数,第一个是因证类型的ardc,还有一个是car类型的星ARGV,这是一个什么数组啊,你先看下这格式,那它会怎么呢?它会这用第一个什么用,这个是ARGC。
02:43
接收接收。传递传传得传递参数的个数,这是第一个值,还有一个什么啊,写错了啊,Sorry。这里面是LGC啊,LGC是传递参数的个数AGV。
03:07
接收。传递参数的。内容是不是这俩值啊,那这俩值我先模拟一下,比如说这里面我需要打印什么,需要打印一下,这个是LGC的个数,呃,不是C显示的个数,PTF,诶,PRPR。Intf,然后括括起来是MD,斜杠N,然后是逗号是什么?是这个是ADC啊,到底显示这个值,然后是什么?这里面显示RT为情况,我建议写个循环啊循环然后是NT等于零啊,这样写的不行啊,所以把它拿到上面去,上面看第行大写小写。大写啊,In的类型ii就行,I,然后是I等于零,然后是I小于多少呢?AGV,我哪知道小于多少个,我要写十个呢,你三好使啊。
04:04
哦,LGC啊,对对,同学提醒我了,是LGC啊。LGC,然后这里面打印的谁呀?打印的是这个LT的值啊,看一下怎么打印。S,然后是。什么斜杠N,然后是逗号,一个是ARARGV,然后是的值啊,这样能打印了啊,你先不用考虑这个RGV,到底这格式你没见过,到底啥意思,先不用考虑啊,那后面大家讲了,那好,那保存一下啊,缺个什么,缺个return吧,其实这个return写不写不一样呢,是不是跟大家说了吧,保存一下,那我们去编一下GCC-oa1aa1.c。没问题吧?如果我就执行一下A1啊,记住一下,如果就执行下A1,看下这个结果什么一,然后什么是A1,就是它的项目名称是不是他自己能找到啊,它放在什么,放在这个是数组中,对零那个位置是不是,然后这里面显示有多少个显示个啊,那比如说在写啊A1后面是杠al,然后是杠S-B啊好像这就有点哪了,杠S-N,然后杠B啊,然后是。
05:20
你瞅啥看下这显示这么多东西啊,我执行一下,看它显示的结果是多少,是不是这是程序执行啊,然后这里面显示几个六个啊,这函数哪函数这里面是一个两个三个,四个,五个六个,是不是这个对应的这个东西啊啊就是把它这里面所有字符串全部找到了吧,然后这里面A1是不是第一个字符串,第二个第三个,第四个,第五个,第六个是不是知道了,这就什么,这就是这个是主函数中传递的这个参数能捕获的什么,捕获具体的这个值知道了,那我们这里面可以怎么的去写一些内容是吧,比如说这个GC每次怎么样,每次是不是太太麻烦了,我们可以缩短点,怎么缩短呢?比如GCC后面加上什么,加上一个是。
06:10
A1.c,它自动就把我们编译成了一个一个程序叫什么叫A1在我们这里面放着,而且路径都和怎么着和这个当前这个路径是一致的,可不可以这样写一个这样操作呀,我这个问题大家听明听明白了吗?啊,就是G1GCCC编程的时候怎么样,就是呃,可以直接这么写啊,但是这个名字不能叫JC啊,不能叫JC啊,系统有了是不是,你可以叫什么MYJCCC是不是啊,是不是我我叫DC啊,你可以怎么样叫M编程mbc是不是也可以啊,那我自己的编程后面加上A1.c就可以怎么自动变成一个可程程序了是吧,就会缩短一些内容是吧,那你可以怎么样是。A1.c,这是一个文件是不是,你比如说这个是a2.c,它是不是也能给它顺序加进来吧,但编译的这个程序都可以叫什么都可以叫第一个这个名字是不是啊,然后是a3.c,是不是你可以这样往下写啊,因为无论你有多少个这个都能接收到,是不是这个明白了吗?这块这个内容说的啊,不太明白啊。
07:14
那我再说一遍啊,我要做一个操作呢,就是我写一个模拟GCCC编程的过程,那前面这块你懂吗?前面懂,前面这懂吗?就是123456,他们怎么接收到的,是不是懂啊,六个值,然后把这几个值识都打印出来了,看到了吧,他们有什么区分的,用空格区分的吧,是不是用空格区分的回车就是执行命令了吧,是不是啊,空格区分把这里面所有东西都打印出来,那我们正常情下边程情况下应该是GCCC-O,然后是aea1.c,这是个格式,是不是有几个参数啊,一个两个,三个四个是不是,这是系统告诉我们这个命令格式是不是我们可以自己写一个,也是带什么带这种命令格式传递参数来实现带这格式的。
08:03
怎么去写呢?是叫MYKCC,是不是MYJCCC可以叫证明吧,是不是ae.c那我就可以根据什么,根据这个它给我传递这个值A1.c,然后做一个什么操作呢?就是把这个程序编译一个可执行程序,是不是可以吧?这里面会练到几个内容,第一个什么字符串的一个切割啊,不是不是切割是这个呃排切是不是我要切到什么,切到这个是这个点C之前的所有内容是不是可以吧啊啊或者是怎么,或者是我们要查找,查找点C之前的内容是不是可以啊,然后把这个所有文件联合在一起是不是,比如这里面涉及到涉及到哪个内容啊呃呃,追加吧,比如说这个什么,比如说第一个是JC后面加追加空格,再追加一个什么,加内容,这是练习要追加那块的吧,然后再加上这个是什么,这个函数参数这块啊,这是咱们需要练习的内容,明白了吧。讲这个来我实现一下啊。VIA。
09:02
A1.c。v.C这里面是不是能接受这个东西啊啊,那如果少的情况下,比如说这里面就接收到一,就接收到一个JC,后面那个命令不够情况下,我是不是得应该,比如说这里面介入值为一,那如果为一的情况就是什么?就是我这个变可执行程序是不是后面是不是没有参数啊,那我们可以做一个判断啊,怎么判断呢?看一下这个是这样写的啊是如果这个什么,这个是ATC,如果要是。是小于等于一,我直接给他来一句话啊,是。画错在这吧,是不是这要对齐是不是,然后来句什么话呢?PTF。缺少参数,什么叫参数知道吧?啊,你一般情况下,你看系统都很都很硬气知道吧,从来没跟你客气过是不是,但你要跟人俩交流情况下是,呃,不好意思,您缺少参数是不是应该这样说是不是,那系统情况下是咱模拟系统情况就很硬气是不是?那如果缺少参数情况,我重新用运行吗?Re re return直接就结束了是不是或return一个什么负一程序出错了,你还RETURN0是不是,是不是,是不是负一啊,那代表什么?乘以出错了,是是那小于等于一啊,这里面一个参数不对。
10:24
那如果对的情况下,怎么是至少有俩参数了吧,是不是两参数情况下,我这里面就得怎么就得给它连接起来,那我看下应该是正常格式应该什么样的,先给大家说一下啊,比如说我要写MYJCCC,那我呃这个ARTC这里面应该比如说这里面编程题吧,A1.c。ARGARGC的值应该等于几啊?等于二吧,是不是,然后我们要模拟什么,模拟系统那个编程的方式是不是,系统编程格式是什么样的格式?GCC,杠O,然后是a1a1.c,是不是这样的格式啊,我们要模拟出这样的格式,那想调用系统命令,其实咱们这个里头还是调系统命令,那调系统命令用哪个SYSTM是不是,然后是怎么双引号一起来是GCC,然后是杠O,然后是A1A1。
11:17
A1.c是不是这样的东西,这里面是我要用一个字符串来替代它,是不是啊,那我可以定义什么?定义一个串类型的这个是。AR啊,这个大小为多少个大小为这个大一点吧,比如说是1000个大小可以吧,啊用来替代什么,替代我们这里面这个内容是吧,把它格式化完成之后,然后这里面放什么放什么呀,放这个是。AR这个内容看了吧,那这里面我这C还需要导入系统文件,哪个文件呢。是不是,当然我这里面如果是字符串,什么截取啊,分割呀,啥内容,是不是还得需要导入另外文件吧。
12:04
啊,这里面是咱们上午讲课内容啊,然后下午讲课,下午讲课内容是参数啊,把上午下午讲课内容放在一起了,做一个练习啊,你注意一下这个练习的重要重要性啊。啊,开始吧,是不是,嗯,是不是这样的一个操作,那然后怎么的,然后是我通可以通过哪个里面获取内容,是不是主函数啊int类型慢里面有什么,有这个int类型的ATC逗号int类型的不是。空格吧,星AG是不是我是不是这个东西存在这里面呢?那我从第几个开始存的。Atv这里面第一个啥,就是我这里面写一下是AGV0,这里面对应的是哪个值啊,是不是我这个程序这个名称啊啊,我要它有用吗?MYGCC是不是没有用啊,我是不是得从第二开始啊,哪个从第二开始啊。
13:04
ARGVARG一开始是不是,那这里面如果有一个情下,我直接写个一是不是就可以了,如果是多况是不是得加循环呢?咱先写一个,然后等多的时候咱再说啊,比如说我就要ARGV里面值就是相当于什么,相当于后面加的这个是A1.c就相当于ARGV1里面这个内容知道吧?啊,这是一个字符串啊,你可可以先这么理解啊。那这里面我要操作情况下是先怎么的,先把那个之前格式化连接好了,连接哪块,那我们要进C,如果这个命令情况是不是应该先把这块内容到这啊JC空格,然后杠O,然后空格放在谁里面,AR里面来,那用用哪方式啊STRCPY是不是这个这什么啊,拷贝将什么啊,将一个杜串拷贝另外作里面去,我要拷贝到哪去啊?拷贝到A2里面去是不是啊A2然后拷贝到哪次,那内容呢?是GCCC-O,然后是杠是不是空格啊,是不是这内容先拷贝过去啊,这是第一点。
14:12
然后要生成一什么,生成一个可执行程序,是不是可执行程序叫名啥呀。和我们这个点C这个文件怎么着很像是不是啊,那我这里面需要怎么着,需要是切割一下啊,切割一下字符串,那我看之前讲课内容啊,这里面有哪个啊,然看下我想获取什么呀,点C之前的所有内容是不是用talk啊,Talk获取一下啊,那注意一下talk获取会有一个,会有一个问会有一个问题,什么问题啊,后面找到后面找不到是不是,所以说我不能用什么用原始数据,这里面那个内容是不是他可能如果还有其他用处,是不是会怎么办呢?是不是会那个会出现错误了吧,所以说还需要怎么样把这个内容是不是也拷贝过来啊啊拷贝一份这块能明白吧,嗯嗯。
15:02
这里面是放在放在什么中啊,就是LRTV中一中是不是有内容啊,我需要放在一个额外的一个什么字符串中是不是?嗯,怎么放呢?再定一个差类型的什么是临时的是PMP,然后是这个数大小为100吧,反正估计也不能大啊,是定义哪个最合适,是256最合适,为啥啊,文件名最大是256是不是啊,所以说这保证怎么样保证正确,然后这里面是不是也需要把ATV1的内容拷贝到这里面来啊啊拷贝过这里面来看一下SPCP,然后报括起来是TP,然后是逗号,一个是AV里面内容。那拷贝过来之后,我需要把这个。PMP这里面内容裁剪一下,裁剪出什么内容是有用的,点点C之前内容是不是有用的,那怎么裁写点之前内容是有用的,是str。To啊获取个什么有用呢?是不是怎么获取有用呢?是是先是tmp,然后后面加上一个逗号单引号一起来是一个什么,是一个点C是不是会一个点也行啊啊点也行,我们直接用点了,它获取完STRQ不是SR talk这里面获取的是一个什么呀,指针吧,啊差类型的星P是不是一个指针呢?等于这个值,那我是需要把这个指针是不是也连接到哪个里面去啊。
16:28
AR里面去是不是,那这里面再来一下啊,是TRCTY啊,注意下CTY啊再拷贝拷贝啥AR啊,再往这个诶我看啊不能了,这里面就不能再拷贝了,应该追加了吧,追加了啊是骚扰这里面刚才这个是出现点失误啊,是这追加啊追加追到哪了?是追加到AR里面去,追加什么内容呢?P的内容是追加完了追加P内容,那我们现在写到这相当于写到哪了,是不是写到这了,还需要去加个什么,加空格是不是,那我们再再去加空格是不是可以啊s tr cat,然后是AR,然后是逗号,记住用双引号空格啊,双引号空格这步追加完成之后,再追加一个什么t cat,然后括号AR,然后是逗号,然后是哪个啊arg VE啊,这这里面就不用双引号了啊啊,为啥这里面追加argv而不。
17:28
家注意下tap tap这里面是不是怎么的被干掉了吧,所以说这个A的一有用是在后面用的吧,所以说如果你直接给人干干掉了是不是,这里面是不是就程序就报错了吧,那整个这样的过程你明白了吗?现在明白了,那我再说一遍啊,那我们整个程序做什么操作呢?是模拟一个GCC这种方式是不是,但是我们给它简化了,在简化过程情况,其实我们这个代码量是不是还增加了,这是不是都是代码量,但以后工作中是不是都可以省事了,这其实就是我们一个函数的功能,是不是这函数的功能就是什么,让你以后工作更省事,是不是拿后来就调用,是不是就省事了,这第一这是这个例子,第一点函数的功能是不是包括第二点什么主函数的参数如何去调用,如何去使用,是不是这第二点功能,然后是system系统函数,这是咱们回顾一下之前内容,是不是还有今天的这个什么,这个是字符串追加是不是,你想想练的例子好多,还有这什么字符串数组是不是咱都练到了吧,还有什么,这个是呃,A。
18:28
条件判断是不是也练到了,然后打印输书是不是也练到了份,是不是也练到了啊,练到内容太多了,那好这个这个样式,我再把这个整体过程跟大家说一下啊,我们可以根据什么主函数这两个参数,一个是arg AR GC,然后是差类型的ARGV,这里面能获取参数,什么叫参数呢?AGC能获取你输入的参数个数,AGV是显示你的这个参数的内容是不是,那咱们这里面也有注释啊,注释是不是写了这这个内容啊,然后这是第一步,然后第二步怎么操作,第二步是这个,我看一下这个值。
19:08
是不是等于二以上的,是不是或大于二以上的,是不是我们这里面没有循环,如果用循环这里面可以大于二以上的是不是,那如果是怎么样?如果是这个是小于一的情况下,代表程序结束了吧,我什么也没写,是不是就缺少参数啊?那如果写情况下,我这里面需要怎么着,需要把这个。对好格式放到什么里面啊。C特门里面去是不是导入图文件啊,这个图文件先导入啊,然后那我需要对齐格式了,那先什么先把这个GC-O拷贝到哪个里面去啊,AR里面去,这是第一步,对R内面是不是有内容了,现在AR内容是什么?这C空格杠空格是不是,这只对齐的前半部分,我还需要做一步什么截取字符串,怎么截取字符串呢?我要截取哪个ARTV1里面对应的什么A1.c的前半部分是不是,那怎么去截取呢?是可以通过。
20:01
String talk去截取是不是截取什么内容呢?截取我们这个点之前的内容,但如果直接用AVE去截取情况,就破坏了这个字符串原始的内容,为什么呀?因为在talk截取的时候,会把截取内容变成什么斜杠零,是不是破坏内容,所以说我就建立一个临时的这个变量,知道吧,看到了吧,啊用来去截取,那截取完之后这个就没有用了,是不是我们就不用管它了,那然后下步这就怎么样拷贝,拷贝什么内容,我截取之后内容我需要拷贝到什么里面字串里面去,比如说这里面截取的是A1,我现在这个GC里面,现在相当于什么,相当于是GCC-O,然后是A1,现在是不是后面什么也没有啊,我又追加了空格,那现在到这为止,相当什么GCC-OA1空格,然后后面再加什么art为一的内容三什么相当于是GCC,杠oa1a1.c,那这样情况下是不是我们CC母就给我们编编好程序了,就是这个过程啊,能明白了吧。
21:02
啊,我就不想再讲了啊,如果你看不懂,你自己再看一遍啊。我们嘴疼,天天讲课了。好,重新实现一下啊,来,再跟我一步步来一下啊,再来一遍啊,咱把这些没有用的删掉,一想一次想删掉几行啊,一行两行,三行,四行,五行,六行,剩下六行怎么删EA6还是76DD3了一行是不是应该七是不是。为啥应该是七呢?我那行空格知道吧,嗯,好,开始写了,那写首先写之前我先导入重建,先导入进来。是井号in include。ST lab.H这是谁同文念呢?System头文件井号in string.h这是另外重文件嘛,是不是走出来重文件,那第一步我需要做什么操作拿谁?定义变量啊,定义临时变量是不是差类型的叫AR吧,之前啊AR,那这里面联合编程的情况下,这可能比较多,所以说这里面我建一个1000啊,就是如果你有多个文件是不是可能比较多呀,啊但是这但是咱们这里面因为是模拟一个就没写那么多,是不是你可以这个后面定一个更大一点的,是不是建议10万个是不是也行啊,但是容易可能内存一出啊。
22:20
再来个什么差类型的PMP,这作为什么临时变量负责负责接收那个不是被切割,那字符串是不是好,然后再来呢。等会啊,EA这耶,为了显示号啊。谁呀,EA冒号set number,我每次打冒号了啊,然后就在咱们这里面去写代码了,怎么去写啊。首先先先把什么,先把那个JC那先注意加过来了拷贝啊,这里面注意下拷贝STRZP拷贝拷贝内容放AR里面去拷贝内容什么内容是GCC-O,然后是空格啊就完事了,这是拷贝什么呀,GCCC前面部分内容,然后呢,下步操作什么操作,嗯,第二步的话,我先把什么先把另外字符串拷贝到这个是time里面去啊,临时变量拷贝哪个内容是ATV1里面对应的内容是不是,嗯,因为这个ARTV1也是个字符串是不是啊,这也是个字符串数组啊,可以拷贝,然后下一步切割哪个。
23:30
看吧,注意下切割完成之后是一个什么类型指针类型啊,你这可能有点早,但是你先知道怎么写啊,Str。Talk切割谁啊,看吧,切割内容呢,点是不是这个内容啊,嗯,切割完了,切割完之后我需要怎么的追加了吧?Cat追加到哪里去啊。这个AR中去,然后最加内容是什么P啊,切割完是P不是time time切割完之后你也可以写time是没问题吧,没有问题啊,这这里面同学说了啊,没有问题,然后下一什么。
24:09
再就加空格吧,S tr cat,然是AR,然后是空格,再下一步呢,再加上S。这怎么放这呢?Star,然后括号AR,然后什么,然后是逗号A1里面内容诶SORRY1啊,这里面内容这样情况是不是追加完了,然后调到哪个啊,是SYSTEM,你看我写个注释啊,然后是AR是不是这样内容为了这个咱们看一下这个对不对,我们先怎么先不去这样操作,我们先打印一下是不是可以啊,然后是百分号S,然后是斜杠N,然后是逗号一个AR,那看一下如果咱们怎么,如果这里面打印的对了,那证明咱们可以操作吧,是不是,如果打印错了,咱们改过来啊,看一下保存一下,然后是。
25:05
GCC杠,咱们这程序还得用什么这个原始这个线变一下是不是啊,然后什么,然后是a1a1.c啊没有问题是吧,直行下A一看下结果呀。缺要参数是不是,是不是少了缺要参数情况就没有没有这个值是不是系统系统很很冷酷的是不是啊,然后是a.aa1.c是不是也行啊,因为还没编程呢,是不是执行一下GCCC-OA1a.C是不是没有问题啊,然后再放在C里面去使用一下啊A1。点C。改一下程序把哪个打开就可以了啊,把这C这个打开,然后把这个话注销掉,把这个程序怎么完成了,这里面咱们这换个名就不叫这个名了,是不是可以吧高,然后叫MYJCCC,然后是A1.c执行一下没有问题,然后就是点斜杠,点斜杠MIGJC,然后是A。
26:05
呃,点一了,如果a.C也也会变出a.C是不是像LS,查看一下这里面是有A1吧,我们把一删除RM啊不行,因为这点C里面始终是那个是编译程序这个东西,是不是我们演示的时候没法演示,是不是再写一个VIb.C。再写一个,写一个井号1DE是吧,井号inde快写啊,Std点,然后是int类型N括号Y的啊printf它a the word是不是又回到这个第一天了啊,这里面给你加个return啊,咱们写严密的啊,Return一个零好写完保存这个程序是不是没变译啊,哪程序变译啊b.C变译是不是?那好,我们用这个是点斜杠MYJCC,然后是点CCB.c看看来执行一下啊。
27:02
没有问题,呃,b.C是不是出现了点斜杠b ho word是不是出现了牛,那那我们这里面是不是就可以直接每次编程情况下用这个了,前面是不是跟大家说过可以怎么的,可以导到哪个里了?B里面去了还记得吗?记得记得我都忘了,是不是我找一下啊呃,哪个B下面啊EDC吧,我是这个吗?就放这吧。啊,我之前写过一个MYGC啊,找那个之前就可能就找了MYK是不是也差不多,是不是你就放在这个B下面是不是就可以了,然后你在运行的时候,这整个的你这个用户就可以使用了,是不是太爽了,简直那那我们把这个先保存一下啊。
我来说两句