C程序是由一组或是变量或是函数的外部对象组成的。 函数是一个自我包含的完成一定相关功能的执行代码段。下面小编和大家分享下C语言中的函数。
1. setfillpatterne函数
setfillpatterne函数的功能是选择用户定义的填充模式,其用法为:void far setfillpattern(char far *upattern, int color);程序实例如下:
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{
int gdriver = DETECT, gmode, errorcode;
int maxx, maxy;
char pattern[8] = {0x00, 0x70, 0x20, 0x27, 0x24, 0x24, 0x07, 0x00};
initgraph(&gdriver, &gmode, "");
errorcode = graphresult();
if (errorcode != grOk)
{
printf("Graphics error: %s/n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1);
}
maxx = getmaxx();
maxy = getmaxy();
setcolor(getmaxcolor());
setfillpattern(pattern, getmaxcolor());
bar(0, 0, maxx, maxy);
getch();
closegraph();
return 0;
}
2. setftime函数
setftime函数的功能是设置文件日期和时间,其用法为int setftime(int handle, struct ftime *ftimep);程序实例代码如下:
#include <stdio.h>
#include <process.h>
#include <fcntl.h>
#include <io.h>
int main(void)
{
struct ftime filet;
FILE *fp;
if ((fp = fopen("TEST.$$$", "w")) == NULL)
{
perror("Error:");
exit(1);
}
fprintf(fp, "testing.../n");
filet.ft_tsec = 1;
filet.ft_min = 1;
filet.ft_hour = 1;
filet.ft_day = 1;
filet.ft_month = 1;
filet.ft_year = 21;
system("dir TEST.$$$");
setftime(fileno(fp), &filet);
fclose(fp);
system("dir TEST.$$$");
unlink("TEST.$$$");
return 0;
}
3. setgraphbufsize函数
setgraphbufsize函数的功能是改变内部图形缓冲区的大小, 其用法为:unsigned far setgraphbufsize(unsigned bufsize);程序实例代码如下:
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#define BUFSIZE 1000 /* internal graphics buffer size */
int main(void)
{
int gdriver = DETECT, gmode, errorcode;
int x, y, oldsize;
char msg[80];
oldsize = setgraphbufsize(BUFSIZE);
initgraph(&gdriver, &gmode, "");
errorcode = graphresult();
if (errorcode != grOk)
{
printf("Graphics error: %s/n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1);
}
x = getmaxx() / 2;
y = getmaxy() / 2;
sprintf(msg, "Graphics buffer size: %d", BUFSIZE);
settextjustify(CENTER_TEXT, CENTER_TEXT);
outtextxy(x, y, msg);
sprintf(msg, "Old graphics buffer size: %d", oldsize);
outtextxy(x, y+textheight("W"), msg);
getch();
closegraph();
return 0;
}4. setjmp函数
setjmp函数的功能是非局部转移,其用法为:int setjmp(jmp_buf env);程序实例代码如下:
#include <stdio.h>
#include <process.h>
#include <setjmp.h>
void subroutine(void);
jmp_buf jumper;
int main(void)
{
int value;
value = setjmp(jumper);
if (value != 0)
{
printf("Longjmp with value %d/n", value);
exit(value);
}
printf("About to call subroutine ... /n");
subroutine();
return 0;
}
void subroutine(void)
{
longjmp(jumper,1);
}