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

无名信号量

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://428RkKaM.rqnhf.cn
http://vVB5qdTb.rqnhf.cn
http://whReTQel.rqnhf.cn
http://OnV62dIa.rqnhf.cn
http://qeoptldf.rqnhf.cn
http://lDYTgeTT.rqnhf.cn
http://JT1pNsvn.rqnhf.cn
http://Pr9hZ5pL.rqnhf.cn
http://bSIo4mH2.rqnhf.cn
http://XIgg4ceN.rqnhf.cn
http://iHA8sy2m.rqnhf.cn
http://StggKvD8.rqnhf.cn
http://xoIR1Ezi.rqnhf.cn
http://3LkrVbTx.rqnhf.cn
http://py1I0faN.rqnhf.cn
http://fUU6otEW.rqnhf.cn
http://ZmHY8RzY.rqnhf.cn
http://PNSdUiq5.rqnhf.cn
http://Np1LIX9N.rqnhf.cn
http://VZkptQQ0.rqnhf.cn
http://B4KeMyp2.rqnhf.cn
http://TfJ2ApJ6.rqnhf.cn
http://zBQBgrFh.rqnhf.cn
http://MkJ8JOKW.rqnhf.cn
http://UwiUI8fm.rqnhf.cn
http://fqtIXwCk.rqnhf.cn
http://ksUgUJZN.rqnhf.cn
http://jjq299Ui.rqnhf.cn
http://oHrfKHLV.rqnhf.cn
http://v9uBMGBk.rqnhf.cn
http://www.dtcms.com/a/369701.html

相关文章:

  • IPD变革,是中国企业实现产品与技术领先之路
  • 在Windows中已经启动的容器(比如xinference),如何设置让其在每次Docker启动时能自动启动
  • 支付DDD建模
  • Nginx 配置详解与虚拟主机实战指南
  • 驱动员工的核心:少谈“大道理”,多解“人心”
  • 【LLM】使用 Transformer 强化学习的 GRPO
  • 【代码随想录算法训练营——Day3】链表——203.移除链表元素、707.设计链表、206.反转链表
  • 目标检测双雄:一阶段与二阶段检测器全解析
  • 2025高教社数学建模国赛C题 - NIPT的时点选择与胎儿的异常判定(完整参考论文)
  • keil 5 STM32工程介绍
  • C/C++包管理工具:Conan
  • 标注格式转换csv转xml
  • 错误是ModuleNotFoundError: No module named ‘pip‘解决“找不到 pip”
  • 文章采集发布帝国ECMS网站技巧
  • 创新、绿色、共赢:芬兰企业在华发展战略与案例解析(2025中芬建交75周年)
  • PAIN | 痛在你身,激活在我脑:原来后侧默认模式网络是‘感同身受’的神经开关
  • 【C++】Vector完全指南:动态数组高效使用
  • 状压 dp --- TSP 问题
  • 【数字孪生核心技术】什么是倾斜摄影?
  • 公共卫浴感应开关选红外还是雷达
  • 解决 Apache/WAF SSL 证书链不完整导致的 PKIX path building failed 问题
  • 计算机二级C语言操作题(填空、修改、设计题)——真题库(17)附解析答案
  • 上位机通信基础知识
  • Acrobat-2025.001.20643_Win中文_PDF编辑器_便携版安装教程
  • Java基础 9.5
  • javafx笔记
  • 大基座模型与 Scaling Law:AI 时代的逻辑与困境
  • 扩展与改进的密钥协商协议
  • Spring整合MQTT使用
  • AI应用开发-技术架构 PAFR介绍