1,linux平台C简单实现本地文件cp

码子及运行效果测试

编译码子;

运行可执行程序;

2,C通过管道进行文件复制

3,下插曲--文件读写文件定位操作;

linux下lseek函数用法;
lseek()
头文件 #include <sys/types.h>
       #include <unistd.h>
protoType:
    off_t lseek(int fildes,off_t offset,int whence);//偏移,根源

函数说明:每一个以打开的文件都有读写位置,当打开文件时通常其读写位置是指向文件开头;
若是以附加的方式打开文件(O_APPEND),读写位置指向文件的末尾;
当read()或write()时,读写位置会随之增加
lseek()用来控制文件的读写位置
参数fildes为已打开的文件描述符,参数offset为根据参数whence来移动读写位置的位移数;
参数whence为下列一种
SEEK_SET 参数offset即为新的读写位置
SEEK_CUR 当前读写位置后增加offset个位移量
SEEK_END 将读写位置指向文件尾后 再增加offset个位移量

当whence值为SEEK_CUR或SEEK_END时,参数offset允许负值的出现
较特色的使用方式
1),欲将读写位置移到文件开头:lseek(int fildes,0,SEEK_SET);
2),将读写位置移到文件尾:lssek(int fildes,0,SEEK_END)
3),取得目前文件位置:lseek(int fildes,0,SEEK_CUR)

返回值:当调用成功返回目前的读写位置,也就是距离文件开头多少个字符,
若有错误则返回-1,errno会存放错误号码哦,亲;
错误代码:EINTR 系统中断;
4,网络文件复制传输

Server端码子;

C客户端码子

4.01 文本文件传输测试;

部分文件内容查看

4.02 unzip文件复制测试

[注,我在前面已经说过了,从S端cp一个文件到C端去,我们的最终目标虽然是最后的文件(不限于zip等压缩包,文本文件等,Dir目录暂不支持),但在C端这边文件的存放目录需与S端的这个Cp文件的地方位置一致,不存在,你就得手动自个来,暂时程序还没实现到这一步,不多时Ruiy将会增加此功能,判断存放的Parent FullPath是否存在,No,则程序自个搞定它]

3,cp 目录测试(故意测试,暂时程序不支持)

呵呵,根据码子你就知道为神马了!

5,简单字符串翻转码子(使用堆栈原理);

码子,

测试

6,考题,程序问题修复

7,socket线程实例

C 本地文件夸网文件Cp操作的更多相关文章

  1. UWP开发之Template10实践:本地文件与照相机文件操作的MVVM实例(图文付原代码)

    前面[UWP开发之Mvvmlight实践五:SuspensionManager中断挂起以及复原处理]章节已经提到过Template10,为了认识MvvmLight的区别特做了此实例. 原代码地址:ht ...

  2. WinForm中使用XML文件存储用户配置及操作本地Config配置文件

    大家都开发winform程序时候会大量用到配置App.config作为保持用户设置的基本信息,比如记住用户名,这样的弊端就是每个人一些个性化的设置每次更新程序的时候会被覆盖. 故将配置文件分两大类: ...

  3. C# 同步更新网盘和本地的文件夹及文件

    该程序是可以更新本地文件或更新网盘文件或者网盘和本地同步更新 下载地址:https://files.cnblogs.com/files/Wonderful-Life/UpdateFilesSync.r ...

  4. 从云主机上下载文件到本地+获取外网地址(linux & Windows)

    云主机上下载有集中方法,腾讯论坛有一遍文章:向云服务器上传下载文件方法汇总 货比三家,最终还是选择了rsync 下载代码如下 rsync ubuntu@123.207.251.217:/var/www ...

  5. 使用java的MultipartFile实现layui官网文件上传实现全部示例,java文件上传

    layui(谐音:类UI) 是一款采用自身模块规范编写的前端 UI 框架,遵循原生 HTML/CSS/JS 的书写与组织形式,门槛极低,拿来即用. layui文件上传示例地址:https://www. ...

  6. 【C#公共帮助类】FTPClientHelper帮助类,实现文件上传,目录操作,下载等动作

    关于本文档的说明 本文档使用Socket通信方式来实现ftp文件的上传下载等命令的执行 欢迎传播分享,必须保持原作者的信息,但禁止将该文档直接用于商业盈利. 本人自从几年前走上编程之路,一直致力于收集 ...

  7. C#路径/文件/目录/I/O常见操作汇总

    文件操作是程序中非常基础和重要的内容,而路径.文件.目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方案,即使没有你想要的答案,也希望能提供 ...

  8. Linux下文件和目录的相关操作

    文件和目录的操作命令,按以下思路进行整理,感觉更便于记忆和使用 1.创建一个二进制文件 touch f1 2.向文件中写入数据 echo "hello" >> f1 e ...

  9. linux使用su切换用户提示 Authentication failure的解决方法& 复制文件时,报cp: omitting directory `XXX'

    linux使用su切换用户提示 Authentication failure的解决方法:这个问题产生的原因是由于ubtun系统默认是没有激活root用户的,需要我们手工进行操作,在命令行界面下,或者在 ...

随机推荐

  1. VC青睐服装订制网站 市场规模超3000亿美元 - 找VC - 创业邦

    VC青睐服装订制网站 市场规模超3000亿美元 - 找VC - 创业邦 VC青睐服装订制网站 市场规模超3000亿美元

  2. oracle 同样数据删除(仅仅留一条)

    DELETE FROM reg_user t1 WHERE user_name='9527008' and rowid > ( SELECT min(rowid) FROM location t ...

  3. [Javascript] lodash: memoize() to improve the profermence

    Link: https://lodash.com/docs#memoize Example: .service('UserPresenter', function(UserConstants){ va ...

  4. post请求和get请求的区别

    1:如果表单是以post方式发送,那么表单中的数据会放在请求报文体中,发送到服务端.但是如果是以get方式提交表单,那么表单中用户输入的数据都是以URL地址的方式发送到服务端. 2:在服务端接收数据时 ...

  5. (转)union和union all的区别

    Union因为要进行重复值扫描,所以效率低.如果合并没有刻意要删除重复行,那么就使用Union All 两个要联合的SQL语句 字段个数必须一样,而且字段类型要“相容”(一致): 如果我们需要将两个s ...

  6. Android入门3:从Toolbar到Material Design

    在Android5.0(API 21)之后,Toolbar被Google推广,逐渐走入大家视野.具体关于Actionbar和Toolbar的对比就不多啰嗦了,跟着潮流走是没错的.下面先上张简单的效果图 ...

  7. 在CentoOS中安装g++ 并连接Oracle数据库

    1.安装运行环境 # yum install gcc-c++ 备注:此时会将gcc-c++和libstdc++-devel都安装上. 2.查看g++是否安装成功[root@MyRHEL 桌面]# g+ ...

  8. Java中关于OOM的场景及解决方法

    原文地址:http://developer.51cto.com/art/201112/305696.htm 1.OOM for Heap=>例如:java.lang.OutOfMemoryErr ...

  9. 删除作业计划出错(DELETE语句与 REFERENCE约束"FK_subplan_job_id"冲突。)

    删除作业计划出错(DELETE语句与 REFERENCE约束"FK_subplan_job_id"冲突.) use msdb select * from sysmaintplan_plans --查看 ...

  10. 使用Flex 和 Red5开发简单视频直播功能

    Flex 是一个高效.免费的开源框架,可用于构建具有表现力的 Web应用程序,这些应用程序利用Adobe Flash Player和Adobe AIR, 可以实现跨浏览器.桌面和操作系统.虽然只能使用 ...