这是关于splice()的另一个问题.我希望用它来复制文件,我试图使用两个拼接调用,通过像splice维基百科页面上的例子一样的管道连接.我写了一个简单的测试用例,它只试图从一个文件读取前32K字节并将它们写入另一个文件:

#define _GNU_SOURCE

#include

#include

#include

#include

#include

int main(int argc, char **argv) {

int pipefd[2];

int result;

FILE *in_file;

FILE *out_file;

result = pipe(pipefd);

in_file = fopen(argv[1], "rb");

out_file = fopen(argv[2], "wb");

result = splice(fileno(in_file), 0, pipefd[1], NULL, 32768, SPLICE_F_MORE | SPLICE_F_MOVE);

printf("%d\n", result);

result = splice(pipefd[0], NULL, fileno(out_file), 0, 32768, SPLICE_F_MORE | SPLICE_F_MOVE);

printf("%d\n", result);

if (result == -1)

printf("%d - %s\n", errno, strerror(errno));

close(pipefd[0]);

close(pipefd[1]);

fclose(in_file);

fclose(out_file);

return 0;

}

当我运行它时,输入文件似乎正确读取,但第二次拼接调用失败了EINVAL.谁知道我在这里做错了什么?

谢谢!

linux拷贝文件函数,如何使用Linux的splice()函数将文件复制到另一个文件?相关推荐

  1. linux命令 把文件夹拷贝一遍_Linux 将文件夹下的所有文件复制到另一个文件里

    如何将文件夹/home/work下的文件复制到/home/temp里面? 使用命令: cp -R /home/work/* /home/temp *表示所有文件 但是/home/work 下的隐藏文件 ...

  2. linux中将一个文件或文件夹移动、复制到另一个文件夹的方法

    Linux中将一个文件移动到另一个文件夹方法,但此方法是移动,并非复制 mv 文件名 目标文件夹路径 如: 当我执行完该代码后: Linux中将一个文件复制到另一个文件夹方法: 如: cp -r &q ...

  3. Linux 将文件夹下的所有文件复制到另一个文件里

    如何将文件夹/home/work下的文件复制到/home/temp里面? 使用命令: cp -R /home/work/* /home/temp *表示所有文件 但是/home/work 下的隐藏文件 ...

  4. linux整个目录复制移动,Linux将一个文件夹或文件夹下的所有内容复制到另一个文件夹,个人常用收录...

    1.将一个文件夹下的所有内容复制到另一个文件夹下 cp -r /home/packageA/* /home/cp/packageB/ 或 cp -r /home/packageA/. /home/cp ...

  5. 将磁盘上的一个文本文件的内容复制到另一个文件中

    <程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p198 8.1.2 上级实训内容 [实训内容2]将磁盘上的一个文本文件的内容复制到另一个文件中 #in ...

  6. Java 将文件的内容复制到另一个文件

    java将一个文件的内容复制到另一个文件. 使用BufferedWriter类的read和write方法将一个文件的内容复制到另一个文件. 完整代码 import java.io.*;public c ...

  7. java把一个文件的内容复制到另外一个文件

    /**  * java把一个文件的内容复制到另外一个文件  */ import java.io.File; import java.io.FileInputStream; import java.io ...

  8. python怎么把一个文件夹内的文件复制到另外一个文件夹(进阶重命名复制)

       需求:把一个文件夹内(包含子文件夹)的所有文件复制到另一个文件夹下 #coding=utf-8 import os import shutilold_path = r'F:\1' # 要复制的文 ...

  9. 解放文件夹下所有层级的特定格式文件,找出文件夹内所有的txt/FLAC/MP4/MP3等等等等,并复制到另一个文件夹中

    解放文件夹下所有层级的特定格式文件,找出文件夹内所有的txt/FLAC/MP4/MP3等等等等,并复制到另一个文件夹中 引言 代码 得意 天天学习,好好向上 引言 各位朋友们好!最近遇到一些想要方便办 ...

  10. 把一个文件中的内容,复制到另外一个文件中

    # 把一个文件中的内容,复制到另外一个文件中.# 基础目录 BASE_DIR = "E:/python重新学习/python核心编程/文件读写/" # 读取的文件名 READ_FI ...

最新文章

  1. SpringBoot在IDEA中实现热部署
  2. 基于PredictionIO的推荐引擎打造,及大规模多标签分类探索
  3. python 结束子线程并保证工作完成_python3中在线程中结束工作进程的方法
  4. VTK:图片之ImageSeparableConvolution
  5. CF-1023F.Mobile Phone Network(并查集缩点)
  6. LeetCode MySQL刷题——day2
  7. 小米MIX 4真机亮屏照曝光?真全面屏 边框窄到窒息
  8. 图像处理——matlab人脸识别(1)
  9. stata令相关系数加显著性
  10. 客户价值分析之RFM模型
  11. PHP 编写“九九乘法表”
  12. 华为路由器子接口,vlan
  13. css —— 文字添加白色描边
  14. 从阿里云下载kubeadm rpm格式安装包到本地离线安装
  15. 20190917练习题总结——选择题
  16. 公司邮箱一般是什么邮箱?专业的电子邮件可以事半功倍
  17. Django:将有存量数据的自定义的用户表无痛继承自带的AbsUser
  18. 说说包管理工具 NPM 的基本用法
  19. [DeeplearningAI笔记]序列模型2.1-2.2词嵌入word embedding
  20. OFDM子载波频率 知乎_5G的速度到底能有多快?

热门文章

  1. 练习_20220305
  2. 51单片机串口的应用(单片机和电脑互发数据)
  3. ems-员工管理系统
  4. Google智能助理很快就能打电话给餐厅并为您预订
  5. (转)程序员如何静下心来高效学习
  6. Stacked Hybrid-Attention and Group Collaborative Learning for Unbiased Scene Graph Generation
  7. Windows格式化系统盘为数据盘 删除EFI分区和恢复分区
  8. 2020-10-22在线识图搜索引擎
  9. 字符编码:Unicode和UTF-8之间的关系
  10. 程序员必备的技术网站合集