c语言编程技巧Word文件下载.docx
《c语言编程技巧Word文件下载.docx》由会员分享,可在线阅读,更多相关《c语言编程技巧Word文件下载.docx(16页珍藏版)》请在冰豆网上搜索。
num=(*tblock).tm_mon+1;
R'
num=(*tblock).tm_mday;
S'
MID(s,dt,12,8);
returnnum;
/*将浮点数转化为字符串*/
/*参数说明data:
需转换的浮点数;
s:
输出字符串;
len:
转换后的长度*/
voidf_to_s(doubledata,char*s,intlen)
intdec,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);
+"
strcat(s,s3);
strcat(s,"
."
strcat(s,s2);
if(sign&
fabs(data)>
-"
dec==0)
+0."
strcat(s,s1);
-0."
dec<
0)
for(i=1;
i<
=fabs(dec);
i++)
0"
if(strlen(s)>
len)s[len]=0;
/*清除屏幕*/
voidCLSXY(intcolor,intx,inty,intxl,intyl)
intx1,y1;
unionREGSr;
if(x<
1||y<
1)return;
y--;
x--;
y1=y+yl-1;
x1=x+xl-1;
if(y1>
25||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);
/*显示时间*/
voiddisplay_time(intcolor,intback_color,inty,intx)
staticcharoldtime[9]="
;
charnewtime[9];
if(y<
1||x<
settextstyle(1,0,1);
DATA(newtime,'
back_color=7;
if(strcmp(newtime,oldtime))
setfillstyle(1,back_color);
setcolor(color);
bar(535,458,635,475);
outtextxy(x,y,newtime);
strcpy(oldtime,newtime);
/*打印一个矩形*/
voidPRINT_KJ(intx,inty,intwide,inthigh)
inti;
for(i=x;
i{
gotoxy(i,y);
cprintf("
"
gotoxy(x,y+high);
gotoxy(x+wide,y+high);
gotoxy(x,y);
gotoxy(x+wide,y);
for(i=x+2;
gotoxy(i,y+high);
for(i=y+1;
gotoxy(x,i);
gotoxy(x+wide,i);
/*砍掉字符串中所有空格*/
voidCUT_ALL_SPC(char*s)
inti,n;
chard[10000];
n=0;
for(i=0;
iif(s[i]!
=32)
d[n]=s[i];
n++;
d[n]=0;
strcpy(s,d);
/*取子字符串*/
voidMID(char*s,char*t,intn,intm)
inti,j,p;
if(n<
1)n=1;
i=strlen(s);
if(iif(m<
0)m=i;
elsem=n+m-1;
if(m>
i)m=i;
p=m-n+1;
if(p<
0)p=0;
for(i=n-1,j=0;
it[j]=s[i];
t[p]=0;
/*从文件中读取字符*/
intREAD_STR(char*s,FILE*fp)
inti=0;
fp)return0;
if(fgets(s,10000,fp))i=1;
s[strlen(s)-1]=0;
returni;
/*字符串左靠齐*/
voidMOVE_LEFT(char*d,char*s,intn)
inti,l;
l=strlen(s);
if(n>
l)n=l;
i*d++=*s++;
*d=0;
/*取左字符串*/
voidLEFT(char*d,char*s,intn)
i=0;
id[i]=s[i];
/*向文件写数据*/
voidWRITE_STR(char*s,FILE*fp)
charc=10;
fp)return;
fputs(s,fp);
fputc(c,fp);
/*取右字符串*/
voidRIGHT(char*dest,char*source,intnum)
inti,j;
if(num<
1)num=0;
num=strlen(source)-num;
0)num=0;
for(i=0,j=num;
j<
=strlen(source);
i++,j++)dest[i]=source[j];
/*打开或关闭光标*/
voidCURSOR(inton2off)
if(on2off!
=OFF)on2off=10;
r.h.ah=1;
r.h.ch=3;
r.h.cl=on2off;
/*喇叭发声*/
voidSOUND(intfrequency,inttime)
i=time*50;
if(i>
30000)i=30000;
if(i<
50)i=50;
sound(frequency);
MYDELAY(i);
nosound();
/*时间延迟*/
voidMYDELAY(longt)
time_tOldTime;
longt0;
t0=t/55;
if(t0<
1)t0=1;
OldTime=clock();
while(clock()-OldTime}
/*正点报时*/
voidREPORT_CLOCK(void)
5;
i++);
SOUND(500,10);
MYDELAY(1000);
SOUND(800,10);
/*写整数于文件中*/
voidWRITE_INT(intnum,FILE*p)
chars[20],a=10;
p)return;
fputs(s,p);
fputc(a,p);
/*从文件中读取整数*/
intREAD_INT(int*num,FILE*p)
chars[30]="
p)return0;
if(fgets(s,10000,p))
i=-1;
*num=atoi(s);
elsei=0;
/*报警*/
voidWARN(void)
SOUND(300,1);
SOUND(100,1);
/*字符串右靠齐*/
voidMOVE_RIGHT(char*s,intwide)
inti,l,n;
n=wide-l;
if(n>
for(i=l;
i>
-1;
i--)s[i+n]=s[i];
i}
/*字符串居中*/
voidMOVE_MIDDLE(char*s,intwide)
if(wide>
l)
wide=wide-1;
n=wide/2;
wide=wide-n;
ifor(i=0;
is[l+n+i]=0;
/*删除子字符串*/
voidDelete_SubString(char*source,intstart,intnum)
l=strlen(source);
if(num>
l-start+1||num==-1)num=l-start+1;
if(start<
1||start>
for(i=start;
isource[i-1]=source[i+num-1];
/*查找指定字符串*/
intINSTR(intn,char*source,char*dest)
inti,j,k1,k2,p;
intstart=0;
if(n==0)n=1;
k1=strlen(source);
k2=strlen(dest);
if(n<
chars[100];
n=-n;
MID(s,source,n,k2);
if(strcmp(s,dest))return0;
returnn;
if(k1-n+1for(i=n-1;
p=0;
for(j=0;
jif(source[i+j]!
=dest[j])break;
elsep++;
if(p==k2)
start=i+1;
returnstart;
/*产生空格*/
voidSPACE(char*s,intn)
0)n=0;
i*s=0;
/*产生字符串*/
voidSTRING(intn,char*s1,char*s2)
s1[0]=0;
=n;
i++)strcat(s1,s2);
/*砍掉字符串左边空格*/
voidCUT_LEFT_SPACE(char*s)
inti,j,k=0;
i=strlen(s)+1;
jfor(k=0;
j}
/*砍掉字符串右边空格*/
voidCUT_RIGHT_SPACE(char*s)
i=strlen(s)-1;
for(j=i;
j>
j--)if(s[j]!
='
'
)break;
s[j+1]=0;
/*显示一个字符串*/
voidDISPLAY(char*s)
unionREGSregs;
intcolor,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++;
x=1;
y++;
if(y>
25)y=25;
s++;
/*定义屏幕颜色*/
voidCOLOR(intForeColor,intBackColor)
if(ForeColor<
0||ForeColor>
15)return;
if(BackColor<
0||BackColor>
qjys=ForeColor;
bjys=BackColor;
/*显示提示窗口*/
voidquit_YesNo(char*s1,char*s2)
charbuffer[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=='
)return;
textbackground(0);
textcolor(15);
clrscr();
CURSOR(ON);
exit(0);
}