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

IO线程-day2

1> 使用fread和fwrite完成两个文件的拷贝

程序:

#define MAXSIZE 1024
#include<myhead.h>int main(int argc, char const *argv[])
{FILE *srcfp=NULL;FILE *destfp=NULL;if(!(srcfp=fopen("pm.bmp","r")))PRINT_ERR("");if(!(destfp=fopen("pm1.bmp","w")))PRINT_ERR("");char buf[MAXSIZE];int ret=0;while((ret = fread(buf, 1, sizeof(buf), srcfp))!= 0){fwrite(buf, 1, ret, destfp);}fclose(srcfp);fclose(destfp);return 0;
}

结果:

2> 使用read、write完成两个文件的拷贝

程序:


#define MAXSIZE 1024
#include<myhead.h>int main(int argc, char const *argv[])
{int srcfd=-1;int destfd=-1;if(!(srcfd=open("./pm.bmp",O_RDONLY)))PRINT_ERR("");if(!(destfd=open("./pm2.bmp",O_WRONLY|O_CREAT|O_TRUNC,0664)))PRINT_ERR("");char buf[MAXSIZE];int ret=0;while((ret = read(srcfd,buf,sizeof(buf)-1))!= 0){write(destfd,buf,ret);memset(buf,0,sizeof(buf));}close(srcfd);close(destfd);return 0;
}

结果:

3> 将时间在文件中跑起来

程序:

#define MAXSIZE 1024
#include<myhead.h>int linecount(){FILE *fp1=NULL;if(!(fp1=fopen("test.txt","r")))PRINT_ERR("");int line=1;char buf[MAXSIZE];while(1){fgets(buf,sizeof(buf),fp1);for(int i=0;i<strlen(buf);i++){if(buf[i]=='\n')line++;}if(strlen(buf)==0)break;memset(buf,0,sizeof(buf));}fclose(fp1);return line;
}
int main(int argc, char const *argv[])
{int fp = -1;if((fp = open("test.txt", O_WRONLY|O_APPEND|O_CREAT)) == -1){perror("open error");return -1;}time_t sysTime = time(NULL);struct tm* t = localtime(&sysTime);char time_buf[128];snprintf(time_buf, sizeof(time_buf), "%2d、%2d:%2d:%2d\n", linecount(),t->tm_hour, t->tm_min, t->tm_sec);write(fp, time_buf, strlen(time_buf));int sec = t->tm_sec;while (1){sysTime = time(NULL);t = localtime(&sysTime);if (t->tm_sec != sec){printf("%s\n", time_buf);sec = t->tm_sec;snprintf(time_buf, sizeof(time_buf), "%2d、%2d:%2d:%2d\n", linecount(),t->tm_hour, t->tm_min, t->tm_sec);write(fp, time_buf, strlen(time_buf));}}close(fp);return 0;
}

结果:

思维导图:

http://www.lryc.cn/news/302131.html

相关文章:

  • Spring Boot 笔记 024 登录页面
  • 09_Java集合
  • HCIA-HarmonyOS设备开发认证V2.0-3.2.轻量系统内核基础-软件定时器
  • 考研证件照可以自己用手机拍吗?考研证件照p过可以通过审核吗?考研证件照有什么要求
  • win10 环境下Python 3.8按装fastapi paddlepaddle 进行图片文字识别1
  • json字符串的处理
  • Java基础String常见的编程练习
  • 代码随想录算法训练营(回溯5)| 491.递增子序列 46.全排列 47.全排列 II
  • 专业140+总分420+南京信息工程大学811信号与系统考研经验南信大电子信息与通信工程,真题,大纲,参考书
  • 一元函数微分学【高数笔记】
  • (16)Hive——企业调优经验
  • 【详解】图的概念和存储结构(邻接矩阵,邻接表)
  • 【AIGC】Stable Diffusion介绍
  • 2024.2.18 C++QT 作业
  • 【qt创建线程两种方式】
  • 网络安全-一句话木马
  • 在k8s中,使用DirectPV CSI作为分布式存储的优缺点
  • 自动化AD域枚举和漏洞检测脚本
  • 数据库管理-第151期 Oracle Vector DB AI-03(20240218)
  • Vue3+vite搭建基础架构(6)--- 使用vue-router
  • 深入解析Android AIDL:实现跨进程通信的利器
  • 【笔记】Helm-5 Chart模板指南-14 下一步
  • axios 官网速通
  • luigi,一个好用的 Python 数据管道库!
  • 用HTML5实现动画
  • 【Linux笔记】进程间通信之管道
  • 【Node-RED】安全登陆时,账号密码设置
  • Kubernetes基础(二十一)-k8s的服务发现机制
  • 华纳云:docker更新容器镜像的常用方法
  • 什么时候会触发FullGC?描述一下JVM加载class文件的原理机制?