C程序是由一组或是变量或是函数的外部对象组成的。 函数是一个自我包含的完成一定相关功能的执行代码段。下面小编和大家分享下C语言中的函数。
1. setmem函数
setmem函数的功能是存值到存储区,其用法为:void setmem(void *addr, int len, char value);程序实例如下:
#include <stdio.h>
#include <alloc.h>
#include <mem.h>
int main(void)
{
char *dest;
dest = calloc(21, sizeof(char));
setmem(dest, 20, 'c');
printf("%s/n", dest);
return 0;
}
2. setmode函数
setmode函数的功能是设置打开文件方式,其用法为int setmode(int handle, unsigned mode);程序实例代码如下:
#include <stdio.h>
#include <fcntl.h>
#include <io.h>
int main(void)
{
int result;
result = setmode(fileno(stdprn), O_TEXT);
if (result == -1)
perror("Mode not available/n");
else
printf("Mode successfully switched/n");
return 0;
}
3. setpalette函数
setpalette函数的功能是改变调色板的颜色, 其用法为:void far setpalette(int index, int actural_color);程序实例代码如下:
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{
int gdriver = DETECT, gmode, errorcode;
int color, maxcolor, ht;
int y = 10;
char msg[80];
initgraph(&gdriver, &gmode, "");
errorcode = graphresult();
if (errorcode != grOk)
{
printf("Graphics error: %s/n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1);
}
maxcolor = getmaxcolor();
ht = 2 * textheight("W");
for (color=1; color<=maxcolor; color++)
{
setcolor(color);
sprintf(msg, "Color: %d", color);
outtextxy(1, y, msg);
y += ht;
}
getch();
for (color=1; color<=maxcolor; color++)
{
setpalette(color, BLACK);
getch();
}
closegraph();
return 0;
}
4. settextjustify函数
settextjustify函数的功能是为图形函数设置文本的对齐方式,其用法为:void far settextjustify(int horiz, int vert);程序实例代码如下:
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
void xat(int x, int y);
char *hjust[] = { "LEFT_TEXT",
"CENTER_TEXT",
"RIGHT_TEXT"
};
char *vjust[] = { "LEFT_TEXT",
"CENTER_TEXT",
"RIGHT_TEXT"
};
int main(void)
{
int gdriver = DETECT, gmode, errorcode;
int midx, midy, hj, vj;
char msg[80];
initgraph(&gdriver, &gmode, "");
errorcode = graphresult();
if (errorcode != grOk) /* an error occurred */
{
printf("Graphics error: %s/n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1);
}
midx = getmaxx() / 2;
midy = getmaxy() / 2;
for (hj=LEFT_TEXT; hj<=RIGHT_TEXT; hj++)
for (vj=LEFT_TEXT; vj<=RIGHT_TEXT; vj++)
{
cleardevice();
settextjustify(hj, vj);
sprintf(msg, "%s %s", hjust[hj], vjust[vj]);
xat(midx, midy);
outtextxy(midx, midy, msg);
getch();
}
closegraph();
return 0;
}
void xat(int x, int y)
{
line(x-4, y, x+4, y);
line(x, y-4, x, y+4);
}