C/C++——小编谈C语言函数那些事(22)

 

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);

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值