linux下的文件io编程实现文件的拷贝[通俗易懂]

linux下的文件io编程实现文件的拷贝[通俗易懂]/*copy_file.c*/#include#include#include#include#include#include#define BUFFER_SIZE 1024 /*每次读写缓存大小,影响运行效率*/#defineSRC_FILE_NAME “src_file” /*源文件名*/#defineDEST_FILE_NAME “dest_

大家好,又见面了,我是你们的朋友全栈君。

/* copy_file.c */

#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdlib.h>
#include <stdio.h>

#define	BUFFER_SIZE	1024		/* 每次读写缓存大小,影响运行效率*/
#define SRC_FILE_NAME	"src_file"	/* 源文件名 */
#define DEST_FILE_NAME	"dest_file"	/* 目标文件名文件名 */
#define OFFSET		10240		/* 拷贝的数据大小 */
 	
int main()
{
	int src_file, dest_file;
	unsigned char buff[BUFFER_SIZE];
	int real_read_len;
	
	/* 以只读方式打开源文件 */
	src_file = open(SRC_FILE_NAME, O_RDONLY);
	
	/* 以只写方式打开目标文件,若此文件不存在则创建, 访问权限值为644 */
	dest_file = open(DEST_FILE_NAME, O_WRONLY|O_CREAT, S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH);
	
	if (src_file < 0 || dest_file < 0)
	{
		printf("Open file error\n");
		exit(1);
	}
	
	/* 将源文件的读写指针移到最后10KB的起始位置*/
	lseek(src_file, -OFFSET, SEEK_END);
	
	/* 读取源文件的最后10KB数据并写到目标文件中,每次读写1KB */
	while ((real_read_len = read(src_file, buff, sizeof(buff))) >
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/136264.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 网络安全:小心MSHTA漏洞为黑客开启远程控制之门

    网络安全:小心MSHTA漏洞为黑客开启远程控制之门这是一个可以让黑客欣喜若狂的新漏洞,一旦该漏洞被激活,就会有大量计算机成为黑客手中的肉鸡,被人远程控制不可避免……  微软的Windows操作系统在进行了短暂的“喘息”后,近日又在攻击爱好者不懈努力下,被成功找出几个高危的系统安全漏洞,而MicrosoftWindowsMSHTA脚本执行漏洞就是其中的重要一员。  安全公告牌  MSHTA即HTA,此处的MS主要用于强调这是微软的

    2022年7月15日
    17
  • git push的时候每次都要输入用户名和密码的问题解决

    git push的时候每次都要输入用户名和密码的问题解决

    2021年10月27日
    47
  • 如何查看自己idea的激活码_在线激活

    (如何查看自己idea的激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月27日
    118
  • 同相放大器有平衡电阻吗?

    同相放大器有平衡电阻吗?系列文章目录 1 元件基础 2 电路设计 3 PCB 设计 4 元件焊接这个所谓的平衡电阻 需要具体情况具体分析 可能有可能无 不要生搬硬套 根据剃刀法则 如无必要 勿增实体首先是理想运放 理想运放放大的是同向和反向输入端的电压差 最简单的同向放大器如下图 忽略虚线框内的 Rg 理想运放的输入阻抗是无穷大 所以两输入端不会有电流流入流出 这个时候如果同向输入端加入一个平衡电阻 Rg 不会有电流流过 Rg 对整个电路不会有任何影响 所以这个平衡电阻没有意义 是不必要的 再来看看最简单的反

    2025年10月13日
    6
  • pycharm多行代码同时注释、去除注释_解除注释的快捷键

    pycharm多行代码同时注释、去除注释_解除注释的快捷键1.单行多行注释快捷键:ctrl+/2.取消单行多行注释快捷键:ctrl+/

    2022年8月29日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号