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

无名信号量

include <myhead.h>
oid *task( void *file_size)int file_size1=*(int*)file_size;//打开源文件int fd=open("./hello",O_RDONLY);if(fd==-1){perror("open error\n");return NULL;}//打开目标文件int fd1=open("./world",O_WRONLY);if(fd1==-1){perror("open error\n");                                                                                                                                                       return NULL;}int num=file_size1/2;//移动光标lseek(fd,num,SEEK_SET);lseek(fd,num,SEEK_SET);char arr1[50]="";while(1){int size=read(fd,arr1,sizeof(arr1));if(size==0){break;}write(fd1,arr1,size);}nt main(int argc, const char *argv[])if(argc!=3){printf("格式错误:%s <源文件> <目标文件> ",argv[0]);return -1;}//打开源文件int fd=open(argv[1],O_RDONLY);if(fd==-1){perror("open error\n");return -1;}//计算文件大小int file_size=lseek(fd,0,SEEK_END);//计算拷贝的大小int helf_size=file_size/2;//创建目标文件int fd1=open(argv[2],O_WRONLY|O_CREAT|O_TRUNC,0664);if(fd1==-1){perror("open and creat file error\n");return -1;}//创建一个线程//定义一个线程变量,用来接收线程号pthread_t tid=-1;if(pthread_create(&tid,NULL,task,&file_size)!=0){printf("pthread create error\n");return -1;}//拷贝前一半内容//把光标移到文件开头lseek(fd,0,SEEK_SET);lseek(fd1,0,SEEK_SET);char arr[50]="";int temp;int size;while(1){size=read(fd,arr,sizeof(arr));temp+=size;if(size==0&&temp>helf_size){write(fd1,arr,size-(temp-helf_size));break;}write(fd1,arr,size);}return 0;
http://www.xdnf.cn/news/20382.html

相关文章:

  • 探索Xilinx GTH收发器掉电与回环功能
  • Coze源码分析-资源库-删除提示词-前端源码
  • Nacos 启动
  • 【完整源码+数据集+部署教程】乡村道路植物与障碍物识别图像分割系统源码和数据集:改进yolo11-OREPA
  • 当前的大部分的AI,可能已经分到了传统那桌了!Causal AI:颠覆传统机器学习的下一代人工智能技术,让AI真正理解“为什么“!
  • python + flask 3 简单的授权验证(基于文件)
  • 小场景大市场:猫狗识别算法在宠物智能设备中的应用
  • 如何解决 OutOfMemoryError 内存溢出 —— 原因、定位与解决方案
  • 1 分布式事务在 Java Web 项目中的实践
  • 分库分表方案中出现数据倾斜问题怎么解决
  • MySQL知识回顾总结----数据类型
  • 143. 重排链表
  • 2025.09.05 用队列实现栈 有效的括号 删除字符串中的所有相邻重复项
  • 2025高教社数学建模国赛C题 - NIPT的时点选择与胎儿的异常判定(完整参考论文)
  • MySQL数据库——事务、索引和视图
  • Linux基础指令(入门必备2.0)
  • B.50.10.06-NoSQL数据库与电商应用
  • 深度学习:CNN 模型训练中的学习率调整(基于 PyTorch)
  • nVisual从入门到精通—应用实例
  • 【51单片机8*8点阵显示箭头动画详细注释】2022-12-1
  • vim 常用快捷键汇总
  • 学习 Android (二十) 学习 OpenCV (五)
  • FastVLM-0.5B 模型解析
  • React Hooks UseCallback
  • Docker Registry 实现原理、适用场景、常用操作及搭建详解
  • CRYPT32!CryptMsgUpdate函数分析两次CRYPT32!PkiAsn1Decode的作用
  • Linux之Docker虚拟化技术(四)
  • 解决Vue Canvas组件在高DPR屏幕上的绘制偏移和区域缩放问题
  • Process Explorer 学习笔记(第三章3.2.1):主窗口与进程列表详解
  • 9.5C++作业