charold_dir[MAXDIR];
charnew_dir[MAXDIR];
intmain(void)
{
if(getcurdir(0,old_dir))
{
perror("getcurdir()");
exit
(1);
}
printf("Currentdirectoryis:
\\%s\n",old_dir);
if(chdir("\\"))
{
perror("chdir()");
exit
(1);
}
if(getcurdir(0,new_dir))
{
perror("getcurdir()");
exit
(1);
}
printf("Currentdirectoryisnow:
\\%s\n",new_dir);
printf("\nChangingbacktoorignaldirectory:
\\%s\n",old_dir);
if(chdir(old_dir))
{
perror("chdir()");
exit
(1);
}
return0;
}
函数名:
_chmod,chmod
功 能:
改变文件的访问方式
用 法:
intchmod(constchar*filename,intpermiss);
程序例:
#include
#include
#include
voidmake_read_only(char*filename);
intmain(void)
{
make_read_only("NOTEXIST.FIL");
make_read_only("MYFILE.FIL");
return0;
}
voidmake_read_only(char*filename)
{
intstat;
stat=chmod(filename,S_IREAD);
if(stat)
printf("Couldn'tmake%sread-only\n",filename);
else
printf("Made%sread-only\n",filename);
}
函数名:
chsize
功 能:
改变文件大小
用 法:
intchsize(inthandle,longsize);
程序例:
#include
#include
#include
intmain(void)
{
inthandle;
charbuf[11]="0123456789";
/*createtextfilecontaining10bytes*/
handle=open("DUMMY.FIL",O_CREAT);
write(handle,buf,strlen(buf));
/*truncatethefileto5bytesinsize*/
chsize(handle,5);
/*closethefile*/
close(handle);
return0;
}
函数名:
circle
功 能:
在给定半径以(x,y)为圆心画圆
用 法:
voidfarcircle(intx,inty,intradius);
程序例:
#include
#include
#include
#include
intmain(void)
{
/*requestautodetection*/
intgdriver=DETECT,gmode,errorcode;
intmidx,midy;
intradius=100;
/*initializegraphicsandlocalvariables*/
initgraph(&gdriver,&gmode,"");
/*readresultofinitialization*/
errorcode=graphresult();
if(errorcode!
=grOk) /*anerroroccurred*/
{
printf("Graphicserror:
%s\n",grapherrormsg(errorcode));
printf("Pressanykeytohalt:
");
getch();
exit
(1);/*terminatewithanerrorcode*/
}
midx=getmaxx()/2;
midy=getmaxy()/2;
setcolor(getmaxcolor());
/*drawthecircle*/
circle(midx,midy,radius);
/*cleanup*/
getch();
closegraph();
return0;
}
函数名:
cleardevice
功 能:
清除图形屏幕
用 法:
voidfarcleardevice(void);
程序例:
#include
#include
#include
#include
intmain(void)
{
/*requestautodetection*/
intgdriver=DETECT,gmode,errorcode;
intmidx,midy;
/*initializegraphicsandlocalvariables*/
initgraph(&gdriver,&gmode,"");
/*readresultofinitialization*/
errorcode=graphresult();
if(errorcode!
=grOk) /*anerroroccurred*/
{
printf("Graphicserror:
%s\n",grapherrormsg(errorcode));
printf("Pressanykeytohalt:
");
getch();
exit
(1);/*terminatewithanerrorcode*/
}
midx=getmaxx()/2;
midy=getmaxy()/2;
setcolor(getmaxcolor());
/*forcenteringscreenmessages*/
settextjustify(CENTER_TEXT,CENTER_TEXT);
/*outputamessagetothescreen*/
outtextxy(midx,midy,"pressanykeytoclearthescreen:
");
/*waitforakey*/
getch();
/*clearthescreen*/
cleardevice();
/*outputanothermessage*/
outtextxy(midx,midy,"pressanykeytoquit:
");
/*cleanup*/
getch();
closegraph();
return0;
}
函数名:
clearerr
功 能:
复位错误标志
用 法:
voidclearerr(FILE*stream);
程序例:
#include
intmain(void)
{
FILE*fp;
charch;
/*openafileforwriting*/
fp=fopen("DUMMY.FIL","w");
/*forceanerrorconditionbyattemptingtoread*/
ch=fgetc(fp);
printf("%c\n",ch);
if(ferror(fp))
{
/*displayanerrormessage*/
printf("ErrorreadingfromDUMMY.FIL\n");
/*resettheerrorandEOFindicators*/
clearerr(fp);
}
fclose(fp);
return0;
}
函数名:
clearviewport
功 能:
清除图形视区
用 法:
voidfarclearviewport(void);
程序例:
#include
#include
#include
#include
#defineCLIP_ON1 /*activatesclippinginviewport*/
intmain(void)
{
/*requestautodetection*/
intgdriver=DETECT,gmode,errorcode;
intht;
/*initializegraphicsandlocalvariables*/
initgraph(&gdriver,&gmode,"");
/*readresultofinitialization*/
errorcode=graphresult();
if(errorcode!
=grOk) /*anerroroccurred*/
{
printf("Graphicserror:
%s\n",grapherrormsg(errorcode));
printf("Pressanykeytohalt:
");
getch();
exit
(1);/*terminatewithanerrorcode*/
}
setcolor(getmaxcolor());
ht=textheight("W");
/*messageindefaultfull-screenviewport*/
outtextxy(0,0,"*<--(0,0)indefaultviewport");
/*createasmallerviewport*/
setviewport(50,50,getmaxx()-50,getmaxy()-50,CLIP_ON);
/*displaysomemessages*/
outtextxy(0,0,"*<--(0,0)insmallerviewport");
outtextxy(0,2*ht,"Pressanykeytoclearviewport:
");
/*waitforakey*/
getch();
/*cleartheviewport*/
clearviewport();
/*outputanothermessage*/
outtextxy(0,0,"Pressanykeytoquit:
");
/*cleanup*/
getch();
closegraph();
return0;
}
函数名:
_close,close
功 能:
关闭文件句柄
用 法:
intclose(inthandle);
程序例:
#include
#include
#include
#include
main()
{
inthandle;
charbuf[11]="0123456789";
/*createafilecontaining10bytes*/
handle=open("NEW.FIL",O_CREAT);
if(handle>-1)
{
write(handle,buf,strlen(buf));
/*closethefile*/
close(handle);
}
else
{
printf("Erroropeningfile\n");
}
return0;
}
函数名:
clock
功 能:
确定处理器时间
用 法:
clock_tclock(void);
程序例:
#include
#include
#include
intmain(void)
{
clock_tstart,end;
start=clock();
delay(2000);
end=clock();
printf("Thetimewas:
%f\n",(end-start)/CLK_TCK);
return0;
}
函数名:
closegraph
功 能:
关闭图形系统
用 法:
voidfarclosegraph(void);
程序例:
#include
#include
#include
#include
intmain(void)
{
/*requestautodetection*/
intgdriver=DETECT,gmode,errorcode;
intx,y;
/*initializegraphicsmode*/
initgraph(&gdriver,&gmode,"");
/*readresultofinitialization*/
errorcode=graphresult();
if(errorcode!
=grOk) /*anerror
occurred*/
{
printf("Graphicserror:
%s\n",grapherrormsg(errorcode));
printf("Pressanykeytohalt:
");
getch();
exit
(1);/*terminatewithanerrorcode*/
}
x=getmaxx()/2;
y=getmaxy()/2;
/*outputamessage*/
settextjustify(CENTER_TEXT,CENTER_TEXT);
outtextxy(x,y,"Pressakeytoclosethegraphicssystem:
");
/*waitforakey*/
getch();
/*closesdownthegraphicssystem*/
closegraph();
printf("We'renowbackintextmode.\n");
printf("Pressanykeytohalt:
");
getch();
return0;
}
函数名:
clreol
功 能:
在文本窗口中清除字符到行末
用 法:
voidclreol(void);
程序例:
#include
intmain(void)
{
clrscr();
cprintf("ThefunctionCLREOLclearsallcharactersfromthe\r\n");
cprintf("cursorpositiontotheendofthelinewithinthe\r\n");
cprintf("currenttextwindow,withoutmovingthecursor.\r\n");
cprintf("Pressanykeytocontinue...");
gotoxy(14,4);
getch();
clreol();