IO线程进程

news2024/10/4 14:56:30

代码练习

使用fread和fwrite完成两个文件的拷贝
#include<myhead.h>

int main(int argc, const char *argv[])
{

    FILE *fp = NULL;
    //重新以只读的形式打开文件
    if((fp = fopen("./OIP-C.bmp", "r")) == NULL)
    {
        perror("fopen error");
        return -1;
    }
	FILE *fp1=NULL;
	if((fp1=fopen("./text.bmp","w"))==NULL)
	{
		perror("fopen error");
		return -1;
	}

    char head[54]="";
	unsigned char color[3];
    fread(head, sizeof(head), 1, fp); //读取头
    fwrite(head, sizeof(head), 1, fp1);//写入头
	while(fread(color,sizeof(char),3,fp)==3)//读取像素点
	{
		fwrite(color,sizeof(char),3,fp1);//写入像素点
	}

    //关闭文件
    fclose(fp);
	fclose(fp1);

    return 0;
}
效果图

使用read、write完成两个文件的拷贝
#include<myhead.h>

int main(int argc, const char *argv[])
{
    //定义文件描述符变量
    int fd = -1;
    if((fd = open("./text.bmp", O_RDONLY)) == -1)
    {
        perror("open error");
        return -1;
    }
	int fd1=-1;
	if((fd1=open("./work3.bmp",O_WRONLY))==-1)
	{
		perror("open error");
		return -1;
	}

    char head[54]="";
	unsigned char color[3]="";
    lseek(fd, 0, SEEK_SET);        //将光标移到开头
    read(fd,head, 54);//读取头
	write(fd1,head,54);//写入头



    //将光标偏移到矩阵部分
    lseek(fd, 54, SEEK_SET);
	while(read(fd,color,sizeof(color))==3)//读取像素
	{
		write(fd1,color,sizeof(color));//写入像素
	}



    //关闭文件
    close(fd);
	close(fd1);

    return 0;
}
 效果图

将时间在文件中跑起来
#include <myhead.h>
//将时间在文件中跑起来
int main(int argc, const char *argv[])
{
	//打开时间文件
	FILE *fp=NULL;
	if((fp=fopen("./time.txt","a+"))==NULL)
	{
		perror("fopen error");
		return -1;
	}
	//循环计算已有行号
	int line=1;
	while(1)
	{
		char c=fgetc(fp);
		if(c=='\n')
			line++;
		if(c==EOF)
			break;
	}
	//判断新旧时间
	char time_buf[128]="";
	struct tm *t;
	time_t Old_Time,sysTime;
	while(1)
	{
		sysTime=time(NULL);
		if(Old_Time!=sysTime)
		{
			Old_Time=sysTime;
			t=localtime(&sysTime);
			snprintf(time_buf,sizeof(time_buf),"%d:%2d:%2d:%2d\n",\
					line,t->tm_hour,t->tm_min,t->tm_sec);
			printf("%s",time_buf);
			fputs(time_buf,fp);
			line++;
			fflush(fp);
		}
	}
	fclose(fp);
	return 0;
}
效果图

思维导图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1456950.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

stm32--笔记

一、引脚与变量 ​​​​​​​​​​​​​​ 二、STM32时钟 [STM32-时钟系统详解_stm32时钟_KevinFlyn的博客-CSDN博客] 三、定时器中断实验 1、定时器中断实验 ​ stm32关于通用定时器的周期、频率计算公式_stm32tim频率计算_胶囊咖啡的博客-CSDN博客 ​ 【STM32】通用…

阿里云服务器CPU内存配置怎么选择够用?

阿里云服务器配置怎么选择&#xff1f;根据实际使用场景选择&#xff0c;个人搭建网站可选2核2G配置&#xff0c;访问量大的话可以选择2核4G配置&#xff0c;企业部署Java、Python等开发环境可以选择2核8G配置&#xff0c;企业数据库、Web应用或APP可以选择4核8G配置或4核16G配…

【已解决】引发的异常: 0xC0000005: 读取位置 0xFFFFFFFFFFFFFFFF 时发生访问冲突。

这种问题产生一般都会手足无措&#xff0c;包括笔者&#xff0c;但是不要慌&#xff0c;这种问题一般都是内存泄漏引起的。例如读者要访问一个已经被析构或者释放的变量&#xff0c;当然访问不了&#xff0c;导致存在问题。这时候读者应该从哪里产生内存泄漏这方面进行考虑&…

【C深剖】数组名的细节

本系列博客为个人刷题思路分享&#xff0c;有需要借鉴即可。 引言&#xff1a;我想我说的这个数组名细节可能很多人并没有留意&#xff0c;现在先来C设计者这样设计也很合理。 就是数组名本质上是一个指针&#xff0c;但是这个指针的内容也就是说指向的空间是固定的&#xff0c…

IO 作业 24/2/19

1> 使用fread和fwrite完成两个文件的拷贝 #include <myhead.h> int main(int argc, const char *argv[]) {//定义被复制文件指针FILE *fp1NULL;if((fp1fopen("./111.bmp","r"))NULL){perror("error open");return -1;}//定义目标文件指…

OpenAI划时代大模型——文本生成视频模型Sora作品欣赏(三)

Sora介绍 Sora是一个能以文本描述生成视频的人工智能模型&#xff0c;由美国人工智能研究机构OpenAI开发。 Sora这一名称源于日文“空”&#xff08;そら sora&#xff09;&#xff0c;即天空之意&#xff0c;以示其无限的创造潜力。其背后的技术是在OpenAI的文本到图像生成模…

【数据结构与算法】手搓JDK底层ArrayList底层 - 动态数组

数组 在介绍数组之前&#xff0c;我们先来看一段chatGPT给出的对于数组描述&#xff1a; 数组&#xff08;Array&#xff09;是一种线性数据结构&#xff0c;它由一组连续的内存空间组成&#xff0c;用来存储相同类型的数据元素。数组具有固定的大小&#xff0c;一旦创建后&a…

Gitlab中CICD提交代码后,运行报错:Preparation failed: Cannot connect to the Docker daemon

目录 1.1、错误描述 1.2、解决方案 1.1、错误描述 今天工作中&#xff0c;合并到了几个Git分支上的代码到dev环境&#xff0c;触发Gitlab流水线进行打包构建的时候&#xff0c;突然报错了&#xff0c;结果如下&#xff1a; 点进去查看具体的报错日志&#xff0c;报错信息见下…

【每周AI简讯】OpenAI推出王炸文生视频模型Sora

ChatGPT中文版https://ai7.pro OpenAI推出王炸文生视频模型Sora OpenAI 宣布推出名为 Sora 的新型文本到视频模型。Sora 能根据用户的文本提示&#xff0c;生成长达一分钟的逼真视频。它可以创造出细节丰富的场景、复杂的摄影机运动以及表情丰富的多个角色。Sora 是一种扩散模…

PyCharm 主题和字体 (Scheme Editor Font)

PyCharm 主题和字体 [Scheme & Editor Font] References Scheme & Editor Font File -> Settings -> Editor -> Colors & Fonts -> Font Show only monospaced fonts&#xff1a; 只显示等宽字体。编程时使用等宽字体效果较好。 References [1] Yon…

前端win10如何设置固定ip(简单明了)

1、右击这个 2、点击属性 3、双击协议版本4设置成以下就ok

基于Springboot+Vue的超市管理系统源码

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 随着社会经济的发展和…

第三百五十五回

文章目录 1. 概念介绍2. 获取方法3. 示例代码4. 对比与总结4.1 横向对比4.2 内容总结 我们在上一章回中介绍了"如何获取当前系统语言"相关的内容&#xff0c;本章回中将介绍如何获取当前时区.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 我们使用的…

探索与实践:深度解读禅道项目管理工具的高效运用

【引言】 在日益复杂的现代项目管理领域中&#xff0c;一款优秀的项目管理工具能够极大地提升团队协作效率&#xff0c;降低项目风险&#xff0c;而禅道正是这样一款深受开发者和项目经理喜爱的产品。它是一款基于敏捷开发理念设计的开源项目管理软件&#xff0c;涵盖了产品管…

One API初体验

前言 忘了在微信公众号是先看到了FastGPT还是One API了&#xff0c;反正对于自己来说知识库或One API都是个新东西&#xff0c;都有很强大的活力。One API在我看来&#xff0c;可能更基础、部署更简单一些&#xff0c;于是打算先搞个One API部署来看看。 One API是开源的&…

使用openai-whisper实现语音转文字

使用openai-whisper实现语音转文字 1 安装依赖 1.1 Windows下安装ffmpeg FFmpeg是一套可以用来记录、转换数字音频、视频&#xff0c;并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。 # ffmpeg官网 https://ffm…

业务型 长时间组件封装(复制即可使用)

{/*disabledAfter 日期限制 例如传入5 则只能选择今天日期5天内的时间 */} import React from react; import { DatePicker } from antd; import moment from moment;const { RangePicker } DatePicker;const CustomRangePicker ({ value, onChange, disabledAfter, ...restP…

小迪安全2023最新版笔记集合--续更

小迪安全2023最新版笔记集合–续更 小迪安全2023最新笔记集合 章节一 ---- 基础入门&#xff1a; 知识点集合&#xff1a; 应用架构&#xff1a;Web/APP/云应用/三方服务/负载均衡等 安全产品&#xff1a;CDN/WAF/IDS/IPS/蜜罐/防火墙/杀毒等 渗透命令&#xff1a;文件上传下…

Linux——开发工具的使用

目录 Linux软件包管理器 yum rzsz Linux编辑器——vim vim的使用 vim的基本操作 命令模式的常见命令 底行模式的常见命令 vim是需要配置的 Linux编译器——gcc/g 预处理 编译 汇编 链接 函数库 Linux项目自动化构建工具 make/makefile make原理 项目清理 Linux调试器g…

【JPCS出版|EI稳定检索】2024年第四届人工智能与工业技术应用国际学术会议(AIITA 2024)

2024年第四届人工智能与工业技术应用国际学术会议&#xff08;AIITA 2024&#xff09; 2024 4th International Conference on Artificial Intelligence and Industrial Technology Applications 2024年4月12日-14日 | 中国广州 大会官网&#xff1a;www.aiita.net 二轮截稿…