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

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语言函数那些事(38)


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

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

 

1.  lfind函数

lfind函数的功能是执行线性搜索,其用法为:void *lfind(void *key, void *base, int *nelem, int width,int (*fcmp)());程序实例如下:

#include <stdio.h>

#include <stdlib.h>

int compare(int *x, int *y)

{

   return( *x - *y );

}

int main(void)

{

   int array[5] = {35, 87, 46, 99, 12};

   size_t nelem = 5;

   int key;

   int *result;

   key = 99;

   result = lfind(&key, array, &nelem,

        sizeof(int), (int(*)(const void *,const void *))compare);

   if (result)

      printf("Number %d found\n",key);

   else

      printf("Number %d not found\n",key);

   return 0;

}

 2. line函数

line 函数的功能是在指定两点间画一直线,其用法为void far line(int x0, int y0, int x1, int y1);程序实例代码如下:

#include <graphics.h>

#include <stdlib.h>

#include <stdio.h>

#include <conio.h>

int main(void)

{

   int gdriver = DETECT, gmode, errorcode;

   int xmax, ymax;

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

   errorcode = graphresult();

   if (errorcode != grOk)

   {

      printf("Graphics error: %s\n",

             grapherrormsg(errorcode));

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

      getch();

      exit(1);

   }

   setcolor(getmaxcolor());

   xmax = getmaxx();

   ymax = getmaxy();

   line(0, 0, xmax, ymax);

   getch();

   closegraph();

   return 0;

}

3.  memccpy函数

memccpy 函数的功能是从源source中拷贝n个字节到目标destin, 其用法为:void *memccpy(void *destin, void *source, unsigned char ch,unsigned n);程序实例代码如下:

#include <string.h>

#include <stdio.h>

int main(void)

{

   char *src = "This is the source string";

   char dest[50];

   char *ptr;

   ptr = memccpy(dest, src, 'c', strlen(src));

   if (ptr)

   {

      *ptr = '\0';

      printf("The character was found:  %s\n", dest);

   }

   else

      printf("The character wasn't found\n");

   return 0;

}

 

4. memicmp函数

memicmp 函数的功能是比较两个串s1s2的前n个字节, 忽略大小写,其用法为:int memicmp(void *s1, void *s2, unsigned n);程序实例代码如下:

#include <stdio.h>

#include <string.h>

int main(void)

{

   char *buf1 = "ABCDE123";

   char *buf2 = "abcde456";

   int stat;

   stat = memicmp(buf1, buf2, 5);

   printf("The strings to position 5 are ");

   if (stat)

      printf("not ");

   printf("the same\n");

   return 0;

}