• 欢迎访问奇跡の海网站,本站不上传任何资源,所有资源均来自于网络,欢迎加入奇跡の海~!奇跡の海-WordPress QQ群
  • 本站下载资源为网络上收集整理而来,并且以计算机技术研究交流为目的,版权归原作者所有,仅供大家参考,学习,不存在任何商业目的与商业用途.
  • 本站系统镜像均来自于官方原版,ed2k可视为P2P下载链接。所有操作系统默认均为试用版,如有正版密钥可以有效激活,本站不提供任何激活和相关服务。

main函数参数和文件复制命令

汇编语言 奇跡の海 1年前 (2018-07-08) 643次浏览 已收录 0个评论 扫描二维码

一、main函数的参数

想要实现一个复制命令,也就是我们通常所说的拷贝命令cp,这个cp命令通常有两个参数,一个是源文件目录,另一个是目标文件目录。例如:

cp /data/temp/a /data/mnt/b

这样就是将在目录/data/temp/目录下的文件a复制到/data/mnt/目录下的文件b。我们的目标就是要实现这样的一个cp命令。并编写一个叫作cp.c的源代码文件,我们知道,编写程序中要实现一个main函数,而这个main函数的参数表我们就在这里学习

int main(int argc, char *argv)

这是main函数的定义,它具有两个参数,int argc表示调用程序主函数时传入的参数个数,而char *argv这个指针数组表示参数的内容。我们可以通过一个简单的例子来具体看看main函数的参数:

main函数参数和文件复制命令

对以上程序编译并执行下面命令

运行结果如下:

./cpaaabbbcccddd

我们可以清楚的看到这个执行过程中main函数的参数argc中存放了接收到的参数个数即5,而argv中存放了所有的参数内容。

main函数参数和文件复制命令

二、实现复制命令

结合main函数的参数表功能及上两节中我们学习到文件读写的相关知识,我们就可以自己实现一个文件复制的程序。程序的实现方式很简单:

1.通过main函数的参数接收需要复制的源文件目录和目标目录。

2.打开源文件和目标文件。

3.从源文件中读取内容,并将这些内容写入到源文件中

4.关闭目标文件。

接下来我们就来动手实现这个文件复制的程序:

main函数参数和文件复制命令

程序运行测试:

./cp /data/temp/a /data/temp/b

请注意,在对main函数参数处理时还可以使用getopt系统接口函数来实现;另外,这个cp命令只能复制普通文件,而不能复制文件夹,想要复制文件夹可以使用opendir等系统调用来实现,准确的来说,这些内容是系统调用接口函数而不是标准c语言函数库,我们不再赘述,请有兴趣的读者自己查阅相关资料并实现文件夹的复制功能。


版权声明:本站所有文章和资源使用CC BY-NC-SA 4.0协议授权发布 , 转载应当以相同方式注明文章来自“SeaOMC.COM->main函数参数和文件复制命令!在下边可以分享本文哦!
喜欢 (0)
[]
分享 (0)
奇跡の海
关于作者:
一个WordPress菜鸟!
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址