当前位置: 首页 > 图文教程 > 开发语言 > C/C++ > C/C++:小编谈C语言函数那些事(22)

C/C++
VC++ SMTP协议电子邮件传送剖析
Managed C++设计新邮件检查器
解决两个难懂的安全性问题
高级扫描技术及原理介绍
VC的另类数据库编程
Visual C++6.0 API函数操作技巧集
托盘编程全接触
在Visual C++中使用内联汇编
理解 Visual C++ Extensions for ADO
TCP/IP Winsock编程要点
VC打造自己特色的屏幕保护
Windows Sockets API实现网络异步通讯
程序界面多模式显示的实现
VC++6.0中控制运行唯一实例
WDM驱动程序设计之编译安装篇
VC编程中如何操作数据库中的图像字段
Windows 9X硬件中断设备驱动程序的开发
用控件聚合技术为FlexGrid增添PickList功能
用ATL和MFC来创建ActiveX控件
用VC进行COM编程所必须掌握的理论知识

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 57 ::
收藏到网摘: n/a

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

}