3.1 IO进程线程

使用fwrite、fread将一张随意的bmp图片,修改成德国的国旗

#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{FILE* fp = fopen("./2.bmp","r");fseek(fp,2,SEEK_SET);int bmp=0;fread(&bmp,4,1,fp);printf("%d\n",bmp);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("./2.bmp","r+");fseek(fp,54,SEEK_SET);unsigned char bgr1[3] = {0,0,0};unsigned char bgr2[3] = {0,0,255};unsigned char bgr3[3] = {0,255,255};char *p=bgr3;for(int i=0;i<w;i++){for(int j=0;j<h/3;j++){fwrite(p,3,1,fp);}}for(int i=0;i<w;i++){for(int j=h/3;j<2*h/3;j++){p=bgr2;fwrite(p,3,1,fp);}}for(int i=0;i<w;i++){for(int j=2*h/3;j<h;j++){p=bgr1;fwrite(p,3,1,fp);}}fclose(fp);return 0;
}

 

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

#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>
int getch();
void inpassw(char *passw, int len) 
{int i = 0;char c;while (i < len-1){c = getch();if (c == '\n') {break;}if (c == 127) {if (i > 0) {printf("\b \b");i--;}}else {passw[i] = c;printf("*");i++;}}passw[i] = '\0';printf("\n");
}int main(int argc, const char *argv[])
{char passw[20];printf("输入密码: ");inpassw(passw, 20);printf("输入的密码为: %s\n", passw);return 0;
}
//getch.c
#include <termios.h>
#include <unistd.h>
#include <sys/types.h>
#include <stdio.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;
}

 思维导图

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

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

相关文章

【JVM】聊聊常见的JVM排查工具

JDK工具包 jps 虚拟机进程状况工具 jps是虚拟机进程状况工具&#xff0c;列出正在运行的虚拟机进程&#xff0c;使用 Windows 的任务管理器或 UNIX 的 ps 命令也可以查询&#xff0c;但如果同时启动多个进程&#xff0c;必须依赖 jps。jps -l 显示类名 jps :列出Java程序进程…

物联网通信协议介绍

为了方便&#xff0c;将物联网通信协议分为两大类&#xff0c;一类是接入协议&#xff0c;一类是通讯协议。接入协议一般负责子网内设备间的组网及通信&#xff1b;通讯协议主要是运行在传统互联网TCP/IP协议之上的设备通讯协议&#xff0c;负责设备通过互联网进行数据交换及通…

js截取图片地址后面的参数和在路径中截取文件名或后缀名

文章目录 前言截取地址 &#xff1f;后面的参数在路径中截取文件名或后缀名总结 前言 在处理网页上的图片资源或者其他类型的文件资源时&#xff0c;你可能会遇到需要使用这些技巧的情况。以下是一些具体的使用场景&#xff1a; 动态修改图片参数&#xff1a;如果你有一个图片U…

Zookeeper启动报错排查

前言&#xff1a;生产linux部署的zookeeper&#xff0c;执行启动脚本后&#xff0c;还是无法使用&#xff0c;故进行重启排查 在zookeeper的bin目录下执行 ./zkServer.sh start-foreground 可实时查看启动日志排查问题 根据上面的日志可以看出&#xff0c;是zoo.cfg配置文件里…

Spring注解之参数校验

目录 一些常用的字段验证的注解 验证请求体(RequestBody) 验证请求参数(Path Variables 和 Request Parameters) 数据的校验的重要性就不用说了&#xff0c;即使在前端对数据进行校验的情况下&#xff0c;我们还是要对传入后端的数据再进行一遍校验&#xff0c;避免用户绕过…

01tire算法

01tire算法 #include<bits/stdc.h> using namespace std; #define maxn 210000 int a[maxn], ch[maxn][2], val[maxn], n, ans, tot; void insert(int x) {int now 0;for (int j 31; j > 0; j -- ){int pos ((x >> i) & 1);if (!ch[now][pos])ch[now][po…

MacBook将iPad和iPhone备份到移动硬盘

#创作灵感# 一个是ICloud不够用&#xff0c;想备份到本地&#xff1b;然而本地存储不够用&#xff0c;增加容量巨贵&#xff0c;舍不得这个钱&#xff0c;所以就想着能不能备份到移动硬盘。刚好有个移动固态&#xff0c;所以就试了一下&#xff0c;还真可以。 #正文# 说一下逻…

MySQL 外键约束 多表联查 联合查询

外键约束 外键用来让两张表的数据之间建立连接&#xff0c;从而保证数据的一致性和完整性。 有一张学生表和班级表&#xff0c;学生表通过班级表的ID引用到该班级&#xff0c;从而进行关联&#xff0c;而通过外键约束可以保证数据的一致性完整性。 如学生ID18关联到课程ID1号…

介绍几种antvX6常用的方法或配置(使用数据渲染节点和连线、图像居中完整展示、节点不可移出画布、节点图片和标签变化)

前言 接本专栏的上一篇antv X6新手教程&#xff0c;补充一些新的需求实现&#xff0c;丰富巩固antv X6的使用。此篇是以上一篇为基础的&#xff0c;如有初学者可以看本专栏的上一篇。 需求1&#xff1a;将编辑好的拓扑图展示在其他页面 一般在编辑完拓扑图或者流程图之后&am…

Typora快捷键设置详细教程(内附每个步骤详细截图)

&#x1f60e; 作者介绍&#xff1a;我是程序员洲洲&#xff0c;一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主、前后端开发、人工智能研究生。公粽号&#xff1a;程序员洲洲。 &#x1f388; 本文专栏&#xff1a;本文…

2_SQL

文章目录 SQL数据完整性实体完整性域完整性参照完整性default&#xff08;默认值&#xff09;comment&#xff08;注释&#xff09; 多表设计一对一一对多多对多数据库三大范式第一范式&#xff1a;原子性第二范式&#xff1a;唯一性第三范式&#xff1a;数据的冗余 多表查询连…

面试经典 150 题 ---- 轮转数组

面试经典 150 题 ---- 轮转数组 轮转数组方法一&#xff1a;使用额外的数组方法二&#xff1a;数组翻转 轮转数组 方法一&#xff1a;使用额外的数组 我们可以使用额外的数组来将每个元素放至正确的位置。用 n 表示数组的长度&#xff0c;我们遍历原数组&#xff0c;将原数组…