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

C/C++
2009年编程开发语言的使用率
C++对象模型笔记:dynamic binding
cstl -- c语言编写通用数据结构和常用算法库(模仿SGI STL)
子串匹配:不回溯算法
C++ Builder 访问 USB 口的方法
C++中二维数组的动态分配
数组和指针在编译的时候的区别
如何利用doxygen生成pdf文档
有关C++析构函数的异常(Exceptions in Destructors)
C++模板学习之函数对象之谓词
5月编程语言排行榜:D语言风采不再
一个C++类实现文件全盘搜索
C语言编程宝典之一 读书笔记
C语言嵌入式系统编程修炼(内存操作)
C++内存管理
带头结点的双循环链表
有关VA_LIST的用法
C++标准库简介(转)
一个栈类的实现(链栈)
C 引用与指针的比较

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


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

C程序是由一组或是变量或是函数的外部对象组成的。 函数是一个自我包含的完成一定相关功能的执行代码段。下面小编和大家分享下C语言中的函数。

 

1.   settextstyle函数

settextstyle函数的功能是为图形输出设置当前的文本属性,其用法为:void far settextstyle (int font, int direction, char size);程序实例如下:

#include <graphics.h>

#include <stdlib.h>

#include <stdio.h>

#include <conio.h>

char *fname[] = { "DEFAULT font",

                  "TRIPLEX font",

                  "SMALL font",

                  "SANS SERIF font",

                  "GOTHIC font"

                };

int main(void)

{

   int gdriver = DETECT, gmode, errorcode;

   int style, midx, midy;

   int size = 1;

   initgraph(&gdriver, &gmode, "");

   errorcode = graphresult();

   if (errorcode != grOk) /

   {

      printf("Graphics error: %s\n", grapherrormsg(errorcode));

      printf("Press any key to halt:");

      getch();

      exit(1);

   }

   midx = getmaxx() / 2;

   midy = getmaxy() / 2;

   settextjustify(CENTER_TEXT, CENTER_TEXT);

   for (style=DEFAULT_FONT; style<=GOTHIC_FONT; style++)

   {

      cleardevice();

      if (style == TRIPLEX_FONT)

         size = 4;

      settextstyle(style, HORIZ_DIR, size);

      outtextxy(midx, midy, fname[style]);

      getch();

   }

   /* clean up */

   closegraph();

   return 0;

}

 2.   settime函数

settime函数的功能是设置系统时间,其用法为void settime(struct time *timep);程序实例代码如下:

#include <stdio.h>
#include <dos.h>
int main(void)
{
   struct  time t;
   gettime(&t);
   printf("The current minute is: %d\n", t.ti_min);
   printf("The current hour is: %d\n", t.ti_hour);
   printf("The current hundredth of a second is: %d\n", t.ti_hund);
   printf("The current second is: %d\n", t.ti_sec);   t.ti_min++;
   settime(&t);
   return 0;
}

3.   setusercharsize函数

setusercharsize函数的功能是为矢量字体改变字符宽度和高度, 其用法为:void far setusercharsize(int multx, int dirx, int multy, int diry);程序实例代码如下:

#include <graphics.h>

#include <stdlib.h>

#include <stdio.h>

#include <conio.h>

int main(void)

{

   int gdriver = DETECT, gmode, errorcode;

   initgraph(&gdriver, &gmode, "");

   errorcode = graphresult();

   if (errorcode != grOk) 

   {

      printf("Graphics error: %s\n", grapherrormsg(errorcode));

      printf("Press any key to halt:");

      getch();

      exit(1); 

   }

   settextstyle(TRIPLEX_FONT, HORIZ_DIR, 4);

   moveto(0, getmaxy() / 2);

   outtext("Norm ");

   setusercharsize(1, 3, 1, 1);

   outtext("Short ");

   setusercharsize(3, 1, 1, 1);

   outtext("Wide");

   getch();

   closegraph();

   return 0;

}

4.   setvbuf函数

setvbuf函数的功能是把缓冲区与流相关,其用法为:int setvbuf(FILE *stream, char *buf, int type, unsigned size);程序实例代码如下:

#include <stdio.h>

int main(void)

{

   FILE *input, *output;

   char bufr[512];

   input = fopen("file.in", "r+b");

   output = fopen("file.out", "w");

   if (setvbuf(input, bufr, _IOFBF, 512) != 0)

      printf("failed to set up buffer for input file\n");

   else

      printf("buffer set up for input file\n");

   if (setvbuf(output, NULL, _IOLBF, 132) != 0)

      printf("failed to set up buffer for output file\n");

   else

      printf("buffer set up for output file\n");

   fclose(input);

   fclose(output);

   return 0;

}