大家好,我叫亓官劼(qí guān jié ),在ImapBox中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博客 本文原创为亓官劼,请大家支持原创,部分平台一直在盗取博主的文章!!! 博主目前仅在ImapBox中写博客,唯一博客更新的地址为:亓官劼的博客 文本将来实现一个Linux系统中的一个简单的cp功能命令(本文中的cp功能十分简陋,仅能够实现基本的复制操作)。 我们这里是使用c语言进行实现的,这里仅是简单的进行一个复制的功能实现和错误的输出。如果打开失败,则输出文件打开错误,否则我们开始读取输入的文件,并且输出到我们的输出文件,如果输出时发生错误,则进行相应的报错。 实现的代码为: 我们将它编译为myCP文件,然后我们将它加入到我们的/usr/local/bin中,我们就可以使用这个命令了。其实这里的复制也已经可以使用我们刚刚写好的这个myCP来实现了,大家可以根据自己的文件位置来修改。我的命令为: 下面我们来进行测试我们的命令,我们输入myCP 第一个文件 第二个文件,然后我们的执行效果为: 我们可以看到我们已经实现了复制的基本功能。 好了,本期博文就到这里了,博主也是在学习这方面的相关知识中,本文仅为一些简单的实现 大家好,我叫亓官劼(qí guān jié ),在ImapBox中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博客 本文原创为亓官劼,请大家支持原创,部分平台一直在盗取博主的文章!!! 博主目前仅在ImapBox中写博客,唯一博客更新的地址为:亓官劼的博客
Linux系统手动实现一个简单cp功能
#include <stdio.h> #include <stdlib.h> #include <fcntl.h> #include <unistd.h> #define COPYMODE 0644 #define BUF 4096 int main(int argc, char *argv[]) { int in_fd = -1, out_fd = -1; char n_chars[BUF]; int len = 0; // 如果打开失败,则报错 if( ( in_fd = open( argv[1], O_RDONLY ) ) == -1 ) { perror( "file open" ); exit( -1 ); } if ( ( out_fd = creat( argv[2], COPYMODE ) ) == -1 ) { perror( "file copy" ); exit( -1 ); } // 一遍读取,一遍输入 while( ( len = read( in_fd, n_chars, sizeof( n_chars ) ) ) > 0 ) { if ( write( out_fd, n_chars, len ) != len ) { printf( "文件:%s发生copy错误n", argv[2] ); exit( -1 ); } } if( len == -1 ) { printf( "读取%s文件错误n", argv[1] ); exit( -1 ); } if( close( in_fd ) == -1 ) { printf( "文件%s关闭失败n", argv[1] ); exit( -1 ); } if( close( out_fd ) == -1 ) { printf( "文件%s关闭失败n", argv[2] ); exit( -1 ); } return 0; }
myCP /Users/qiguan/ttttttttttt/myCP /usr/local/bin/
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算