作业要求:
1.使用fwrite、fread将一张随意的bmp图片,修改成德国的国旗
2.使用提供的getch函数,编写一个专门用来输入密码的函数,要求输入密码的时候,显示 * 号,输入回车的时候,密码输入结束
作业1:
运行代码:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<unistd.h>
int main(int argc, const char *argv[])
{
FILE *fp = fopen("index.bmp","r");
fseek(fp,2,SEEK_SET);
int bmp_size = 0;
fread(&bmp_size,4,1,fp);
printf("文件大小为%d 字节\n",bmp_size);
int w,h;
fseek(fp,18,SEEK_SET);
fread(&w,4,1,fp);
fread(&h,4,1,fp);
printf("h==%d w==%d\n",h,w);
fclose(fp);
fp = fopen("index.bmp","r+");
unsigned char pix[3][3] ={{0,255,255},{0,0,255},{0,0,0}};
fseek(fp,54,SEEK_SET);
for(int i=0;i<3;i++){
for(int j=0;j<h/3;j++){
for(int k=0;k<w;k++){
fwrite(pix[i],3,1,fp);
}
}
}
fclose(fp);
return 0;
}