IO-DAY2

用发write、fread将一张随意图片修改成德国国旗

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<unistd.h>
int main(int argc, char *argv[])
{FILE* fp=fopen("./122.bmp","r");int w = 0,h = 0;fseek(fp,18,SEEK_SET);fread(&w,4,1,fp);fread(&h,4,1,fp);printf("图像尺寸为:%d * %d\n",w,h);fclose(fp);fp = fopen("./122.bmp","r+");fseek(fp,54,SEEK_SET);unsigned char yel[3] = {0,255,255};unsigned char red[3] = {0,0,255};unsigned char bla[3] = {0,0,0};for(int i=0;i<w;i++){for(int j=0;j<(h/3);j++){fwrite(yel,3,1,fp);}}for(int i=0;i<w;i++){for(int j=(h/3);j<(h*2/3);j++){fwrite(red,3,1,fp);}}for(int i=0;i<w;i++){for(int j=(h*2/3);j<h;j++){fwrite(bla,3,1,fp);}}fclose(fp);	return 0;
}

使用getch函数编写一个专门用来输入密码的函数,要求输入密码时显示*号输入回车,密码输入结束

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<unistd.h>
#include<termios.h>
#include<sys/types.h>
#include<assert.h>
int getch(){int c=0;struct termios org_opts, new_opts;int res=0;res=tcgetattr(STDIN_FILENO, &org_opts);assert(res==0);new_opts = org_opts;new_opts.c_lflag &= ~(ICANON | ECHO | ECHOE | ECHOK | ECHONL | ECHOPRT | ECHOKE | ICRNL);tcsetattr(STDIN_FILENO, TCSANOW, &new_opts);c=getchar();res=tcsetattr(STDIN_FILENO, TCSANOW, &org_opts);assert(res==0);return c;
}
void sec(char *sec,int len)
{int i=0;while(i<len-1){char c=getch();if(c==10){break;}printf("*");sec[i++]=c;}sec[i]='\0';printf("\n");
}
int main(int argc, char *argv[])
{char arr[10];sec(arr,10);printf("输入密码为:%s\n",sec);return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leetcode:860.柠檬水找零

题意&#xff1a;按照支付顺序&#xff0c;进行支付&#xff0c;能够正确找零。 解题思路&#xff1a;贪心策略&#xff1a;针对支付20的客人&#xff0c;优先选择消耗10而不是消耗5&#xff0c;因为5可以用来找零10或20. 代码实现&#xff1a;有三种情况&#xff08;代表三种…

tomcat 搭建博客 及破解数据库密码

一 tomcat 搭建博客 &#xff08;一&#xff09;博客安装包 1&#xff0c; 把博客war包 放到 webapps 文件夹下 2&#xff0c;会自动解压 3&#xff0c;做个软连接 方便后续操作 可以注意到 因为war包 是又tomcat 自己解压的 所以属主数组还是 tomcat &#xff08…

如何跳过格式化打开u盘文件?介绍几种实用方法

在使用U盘时&#xff0c;有时会遇到需要格式化才能打开文件的情况。但是&#xff0c;格式化会导致数据丢失&#xff0c;让人很头疼。那么&#xff0c;如何跳过格式化打开U盘文件&#xff1f;本文将介绍一些实用方法来解决这个问题。 方法1&#xff1a;检查USB驱动器 如果你的…

NodeJs 版本升级时Vue工程报错

最近把nodejs 的版本更新了&#xff0c;原来用的 16.15.1 现在用的 18.16.1&#xff0c;结果所有的vue工程都启不动了&#xff0c;一直报错。 1.报错截图 2.原因分析 error:03000086:digital envelope routines::initialization error &#xff0c;这个是nodejs版本的问题&am…

什么是生成式人工智能?

近年来&#xff0c;人工智能取得了重大进展&#xff0c;其中发展迅速的领域之一就是生成式人工智能。生成式人工智能是人工智能和深度学习的一个子领域&#xff0c;主要使用机器学习技 术根据现有数据训练算法和模型&#xff0c;生成诸如图像、文本、音乐、视频等新内容。 要更…

升级 Vue版本从 2.5.x 到 2.6.x

升级 Vue版本从2.5.x到2.6.x start 最近项目中需要使用某些第三方插件&#xff0c;但是第三方插件对 vue 的版本有要求。 插件要求 vue版本为 vue2.6.x 的&#xff0c;而我现有的环境是 vue2.5.x 的。 记录一下 升级 Vue 版本从 2.5.x 到 2.6.x 的过程。 正文 1. 更改 pack…

线程池的相关参数

在Java中线程池是一种池化技术&#xff0c;用于管理和复用线程&#xff0c;提高线程的利用率和性能。下面是一些常见的线程池的参数及其解释&#xff1a; 一&#xff1a;线程池的七大参数 public ThreadPoolExecutor(int corePoolSize,int maximumPoolSize,long keepAliveTim…

UDP数据报套接字编程入门

目录 1.TCP和UDP的特点及区别 1.1TCP的特点 1.2UDP的特点 1.3区别 2.UDP Socket的api的介绍 2.1DatagramSocket API 2.2DatagramPacket API 3.回显客户端与服务器 3.1回显服务器 3.1.1UdpEchoServer类的创建 3.1.2服务器的运行方法start() 3.1.3main部分 3.1.4.完整…

vue3使用百度地图实现个性化地图和轨迹

vue3使用百度地图实现个性化地图和轨迹 最终效果如图&#xff1a; 步骤如下&#xff1a; 一、百度地图在vue3中的引入 1.首先在百度地图开发中心中申请ak&#xff08;不多介绍&#xff09; 2.两种引入方式&#xff1a;在 index.html 中直接引入&#xff1b;使用npm导包。&…

CentOS7 Zookeeper3.8.3 单节点安装

CentOS7 Zookeeper3.8.3 单节点安装 1、把压缩包丢tools里&#xff0c;进tools cd /tools2、解压到training tar -zxvf /tools/apache-zookeeper-3.8.3-bin.tar.gz -C /training3、进training cd /training4、重命名 mv apache-zookeeper-3.8.3-bin zookeeper5、进zookeep…

【深蓝学院】移动机器人运动规划--第7章 集群机器人运动规划--笔记

文章目录 0. Contents1. Multi-Agent Path Finding (MAPF)1.1 HCA*1.2 Single-Agent A*1.3 ID1.4 M*1.5 Conflict-Based Search(CBS)1.6 ECBS1.6.1 heuristics1.6.2 Focal Search 2. Velocity Obstacle (VO&#xff0c;速度障碍物)2.1 VO2.2. RVO2.3 ORCA 3. Flocking model&am…

ccadmin - 可免费试用的 FreeSWITCH web管理后台

ccadmin - FreeSWITCH web管理后台 简介免费测试在线预览功能说明 简介 顶顶通呼叫中心中间件Web后台管理系统简称CCAdmin-Web&#xff0c;用于管理和配置顶顶通呼叫中心中间件。因为顶顶通呼叫中心中间件是基于FreeSWITCH开发的&#xff0c;所以CCAdmin本质上也是一个FreeSWI…