C语言编程技巧汇萃 /*从键盘中读取字符 功能:按下普通键时,返回其ASCII码 扫描码CODE=0*/ int INKEY(int *code) { int m; while(!bioskey(1))/*可加入无按键时代码*/; *code=bioskey(0); m=*code*255; if(!m) m=*code>>8; *code=*code&255; return m; } /*获取机器日期*/ int DATE(char *s,char type) { char dat[30]; int num; struct tm *tblock; time_t t; t=time(NULL); tblock=localtime(&t); strcpy(dt,asctime(tblock)); strcpy(s,""); switch(type) { case 'N': num=(*tblock).tm_year+1900; itoa(num,s,10); break; case 'Y': num=(*tblock).tm_mon+1; itoa(num,s,10); break; case 'R': num=(*tblock).tm_mday; itoa(num,s,10); break; case 'S': strcpy(dt,asctime(tblock)); MID(s,dt,12,8); break; } } return num; } /*将浮点数转化为字符串*/ /* 参数说明 data:需转换的浮点数;s:输出字符串;len:转换后的长度*/ void f_to_s(double data,char *s,int len) { int dec,sign,i; char *s1,s2[100],s3[100]; s1=0; s2[0]=0; s3[0]=0; s1=fcvt(data,len,&dec,&sign); if (!sign&&data>=1) { MID(s2,s1,dec+1,-1); MID(s3,s1,1,dec); strcpy(s,"+"); strcat(s,s3); strcat(s,"."); strcat(s,s2); } if (sign&&fabs(data)>=1) { MID(s2,s1,dec+1,-1); strcpy(s,"-"); MID(s3,s1,1,dec); strcat(s,s3); strcat(s,"."); strcat(s,s2); } if (!sign&&dec==0) { strcpy(s,"+0."); strcat(s,s1); } if (sign&&dec==0) { strcpy(s,"-0."); strcat(s,s1); } if (!sign&&declen) s[len]=0; } /*清除屏幕*/ void CLSXY(int color,int x,int y,int xl,int yl) { int x1,y1; union REGS r; if(x25||x1>80) return; r.h.ah=6; /*子功能号*/ r.h.al=0; /*滚动行数*/ r.h.ch=y; r.h.cl=x; r.h.dh=y1; r.h.dl=x1; r.h.bh=color*16; int86(16,&r,&r); } /*显示时间*/ void display_time(int color,int back_color,int y,int x) { static char oldtime[9]=""; char newtime[9]; if(yi) m=i; p=m-n+1; if(pl) n=l; for(i=0;i*d++=*s++; *d=0; } /*取左字符串*/ void LEFT(char *d,char *s,int n) { int i,l; i=0; l=strlen(s); if(n>l) n=l; for(i=0;id=s; d[n]=0; } /*向文件写数据*/ void WRITE_STR(char *s,FILE *fp) { char c=10; if(!fp) return; fputs(s,fp); fputc(c,fp); } /*取右字符串*/ void RIGHT(char *dest,char *source,int num) { int i,j; if (num30000) i=30000; if (i0) { for(i=l;i>-1;i--) s[i+n]=s; for(i=0;i} } /*字符串居中*/ void MOVE_MIDDLE(char *s,int wide) { int i,l,n; l=strlen(s); if (wide>l) { wide=wide-1; n=wide/2; wide=wide-n; for(i=l;i>-1;i--) s[i+n]=s; for(i=0;ifor(i=0;is[l+n+i]=0; } } /*删除子字符串*/ void Delete_SubString(char *source,int start,int num) { int i,l; l=strlen(source); if (num>l-start+1||num==-1) num=l-start+1; if (start1) return; for(i=start;isource[i-1]=source[i+num-1]; } /*查找指定字符串*/ int INSTR(int n,char *source,char *dest) { int i,j,k1,k2,p; int start=0; if (n==0) n=1; k1=strlen(source); k2=strlen(dest); if (n-1;j--) if (s[j]!=' ') break; s[j+1]=0; } /*显示一个字符串*/ void DISPLAY(char *s) { union REGS regs; int color,x,y; x=wherex(); y=wherey(); color=16*bjys+qjys; while(*s) { if(x>80) break; regs.h.ah=9; regs.h.al=*s; regs.h.bh=0; regs.h.bl=color; regs.x.cx=1; /*显示的次数,不改变光标位置*/ int86(16,?s,?s); x++; if(x>80) { x=1; y++; if(y>25) y=25; } gotoxy(x,y); s++; } } /*定义屏幕颜色*/ void COLOR(int ForeColor,int BackColor) { if(ForeColor15) return; if(BackColor15) return; qjys=ForeColor; bjys=BackColor; } /*显示提示窗口*/ void quit_YesNo(char *s1,char *s2) { char buffer[2000],jx; gettext(30,8,76,16,buffer); textbackground(3); CLSXY(8,32,9,30,6); CLSXY(4,30,8,30,6); COLOR(15,4); gotoxy(35,10); DISPLAY(s1); gotoxy(35,12); DISPLAY(s2); gotoxy(35+strlen(s2)+1,12); jx=getch(); puttext(30,8,76,16,buffer); if (jx=='n'||jx=='N') return; textbackground(0); textcolor(15); clrscr(); CURSOR(ON); exit(0); } |
共2条
1/1 1 跳转至页
C语言编程技巧汇萃
关键词: 语言 编程技巧 汇萃
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |