当前位置: 首页 > article >正文

文件IO拷贝应用

创建子父进程,子进程将1.txt内容拷贝在2.txt中,父进程将3.txt内容拷贝在4.txt中。

#include<myhead.h> 
int main(int argc, const char *argv[])
{
	int fd1,fd2,fd3,fd4;
	fd2=open("./2.txt",O_WRONLY|O_CREAT|O_TRUNC,0664);
	if(fd2==-1)
	{
		perror("open fd2");
		return -1;
	}
	fd1=open("./1.txt",O_RDONLY);
	if(fd1==-1)
	{
		perror("open fd1");
		return -1;
	}
	fd4=open("./4.txt",O_WRONLY|O_CREAT|O_TRUNC,0664);
	if(fd4==-1)
	{
		perror("open fd4");
		return -1;
	}
	fd3=open("./3.txt",O_RDONLY);
	if(fd3==-1)
	{
		perror("open fd3");
		return -1;
	}
	pid_t pid;
	pid =fork();
	char buff[100];
	char s[100];
	while(1)
	{
		if(pid>0)
		{
			int len=read(fd3,buff,sizeof(buff));
			if(len==0)
			{
				break;
			}
			write(fd4,buff,len);
			printf("父进程拷贝成功\n");
		}
		else if(pid==0)
		{
			int p=read(fd1,s,sizeof(s));
			if(p==0)
			{
				break;
			}
			write(fd2,s,p);
			printf("子进程拷贝成功\n");
		}
		else 
		{
			perror("创建失败,fork");
		}
	}
	close(fd1);
	close(fd2);
	close(fd3);
	close(fd4);
	while(1);
	return 0;
}

代码演示


http://www.kler.cn/a/385329.html

相关文章:

  • 光流法与直接法在SLAM中的应用
  • 【AI写作宝-注册安全分析报告-无验证方式导致安全隐患】
  • 【Java学习】电脑基础操作和编程环境配置
  • 一文了解 Tableau 2024.3 如何展现已发布数据源的数据模型
  • 【大数据学习 | HBASE】hbase的读数据流程与hbase读取数据
  • .netCore WebAPI中字符串加密与解密
  • Matlab车牌识别课程设计报告(附源代码)
  • SpringBoot中使用多线程ThreadPoolTaskExecutor+CompletableFuture
  • 代码随想录算法训练营Day55 | 图论理论基础、深度优先搜索理论基础、卡玛网 98.所有可达路径、797. 所有可能的路径、广度优先搜索理论基础
  • 一级注册消防工程师重点笔记
  • ICT网络赛道安全考点知识总结4
  • SearchGPT 网络搜索功能利用了微软必应的搜索技术
  • 2024网鼎杯web1+re2 wp
  • O-RAN前传Spilt Option 7-2x
  • RPA是什么,RPA有什么作用?
  • 如何在 Docker 容器中启动 X11 图形界面程序
  • 前端UniApp面试题及参考答案(100道题)
  • C++ enable_shared_from_this使用详解
  • 函数基础练习(Python)
  • 少儿编程启蒙学习
  • python爬虫指南——初学者避坑篇
  • leetcode | 88. 合并两个有序数组
  • WebSocket 及时通信 - 2024最新版前端秋招面试短期突击面试题【100道】
  • 远程控制项目第二天
  • 【GPTs】Email Responder Pro:高效生成专业回复邮件
  • mysql分布式锁