德国国旗
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
FILE* f1 = fopen("rising.bmp","r+");
int w=0,h=0;
fseek(f1,18,SEEK_SET);
fread(&w,4,1,f1);
fread(&h,4,1,f1);
printf("w=%d\n",w);
printf("h=%d\n",h);
unsigned char b[3]={255,0,0};
unsigned char g[3]={0,255,0};
unsigned char r[3]={0,0,255};
fseek(f1,54,SEEK_SET);
for(int i=0;i<h;i++)
{
for(int j=0;j<w;j++)
{
if(i>=0&&i<=(h/3))
{fwrite(b,3,1,f1);}
else if(i>(h/3)&&i<=(2*h/3))
{fwrite(g,3,1,f1);}
else if(i>(2*h/3)&&i<=h)
{fwrite(r,3,1,f1);}
}
}
fclose(f1);
return 0;
}
密码不回显
#include <termios.h>
#include <unistd.h>
#include <sys/types.h>
#include <stdio.h>
#include <assert.h>
int getch()
{
char* p=str;
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;
while(1)
{
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);
if(c==10)
break;
printf("*");
}
putchar(10);
return c;
}
int main(int argc, const char *argv[])
{
getch();
return 0;
}