1.在终端的界面上输出:__-__-__-__ 1秒过后,变成 1_-__-__-__ 再1秒过后,变成 12-__-__-__ 依此类推 经过8秒,最终变成 12-34-56-78
int main(int argc, const char *argv[])
{
printf("__-__-__-__");
fflush(stdout);
for(int i=0;i<11;i++){
printf("\b");
}
sleep(1);//延时1s
printf("1");//打印1
fflush(stdout); //缓存区刷新打印
sleep(1);
printf("2-");
fflush(stdout);
sleep(1);
printf("3");
fflush(stdout);
sleep(1);
printf("4-");
fflush(stdout);
sleep(1);
printf("5");
fflush(stdout);
sleep(1);
printf("6-");
fflush(stdout);
sleep(1);
printf("7");
fflush(stdout);
sleep(1);
printf("8");
fflush(stdout);
while(1);
return 0;
}
2. 将一张bmp图片的大小更改成原来的4倍,宽度和高度都要对应的变成原来的2倍,多出来的像素点用黑色填充
int main(int argc, const char *argv[])
{
FILE* fp = fopen("./1.bmp","r+");
fseek(fp,2,SEEK_SET);
int size = 0,width=0,height=0;
fread(&size,4,1,fp);
printf("图片大小为:%d 字节\n",size);
size=size*4-56*3;//图片大小扩大四倍,
fseek(fp,2,SEEK_SET);
fwrite(&size,4,1,fp);
fseek(fp,18,SEEK_SET);
fread(&width,4,1,fp);
fread(&height,4,1,fp);
printf("文件像素格式:%d %d\n",width,height);
width = (width+1)*2;
height = height*2;
fseek(fp,18,SEEK_SET);
fwrite(&width,4,1,fp);
fwrite(&height,4,1,fp);
fseek(fp,3993174,SEEK_SET);
unsigned char bgr[3] = {0,0,0};
for(int i=0;i<width/4*3;i++)
{
for(int j=0;j<height/4*3;j++)
{
fwrite(bgr,3,1,fp);
}
}
fclose(fp);
return 0;
}