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

C/C++
C和C++的特点
pragma 预处理指令详解
C++ 中什么是内联函数
C/C++没有数组
C/C++返回内部静态成员的陷阱
学好C/C++的办法
C/C++中时间函数的介绍
c/c++混合编程
c/C++内存分配
[转]浅谈C语言学习与C++语言学习的关系
托管C++
windows进程中的内存结构
C++学习重点分析
浅析scanf()函数中%[]格式控制符
C/C++:一个跨平台的 C++ 内存泄漏检测器
C/C++:C/C++时间函数使用方法
C/C++:线程冲突你了解多少?
C/C++:小编浅谈函数宏应用优缺点
C/C++:小编谈C语言函数那些事(1)
C/C++:小编谈C语言函数那些事(2)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 60 ::
收藏到网摘: 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);

}