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

C/C++
C/C++:小编谈C语言函数那些事(3)
C/C++:小编谈C语言函数那些事(4)
C/C++:小编谈C语言函数那些事(5)
C/C++:小编谈C语言函数那些事(6)
C/C++:小编谈C语言函数那些事(7)
C/C++:小编谈C语言函数那些事(8)
C/C++:小编谈C语言函数那些事(9)
C/C++:小编谈C语言函数那些事(10)
C/C++:小编谈C语言函数那些事(11)
C/C++:小编谈C语言函数那些事(12)
C/C++:小编谈C语言函数那些事(13)
C/C++:小编谈C语言函数那些事(14)
C/C++:小编谈C语言函数那些事(15)
C/C++:小编谈C语言函数那些事(16)
C/C++:小编谈C语言函数那些事(17)
C/C++:小编谈C语言函数那些事(18)
C/C++:小编谈C语言函数那些事(19)
C/C++:小编谈C语言函数那些事(20)
C/C++:小编谈C语言函数那些事(21)
C/C++:小编谈C语言函数那些事(22)

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


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

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

1.       ldexp函数

ldexp函数的功能是计算value*2的幂,其用法为:double ldexp(double value, int exp);程序实例如下:

         #include <stdio.h>

#include <math.h>

int main(void)

{

     double value;

     double x = 2;

     value = ldexp(x,3);

     printf("The ldexp value is: %lf\n",value);

     return 0;

}

2.       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;

  }

3.       lock函数

lock函数的功能是设置文件共享锁,其用法为:int lock(int handle, long offset, long length);程序实例代码如下:

#include <io.h>

#include <fcntl.h>

#include <sys\stat.h>

#include <process.h>

#include <share.h>

#include <stdio.h>

int main(void)

{

   int handle, status;

   long length;

   handle = sopen("c:\\autoexec.bat",

      O_RDONLY,SH_DENYNO,S_IREAD);

   if (handle < 0)

   {

      printf("sopen failed\n");

      exit(1);

   }

   length = filelength(handle);

   status = lock(handle,0L,length/2);

   if (status == 0)

      printf("lock succeeded\n");

   else

      printf("lock failed\n");

   status = unlock(handle,0L,length/2);

   if (status == 0)

      printf("unlock succeeded\n");

   else

      printf("unlock failed\n");

   close(handle);

   return 0;

}

4.       lseek函数

lseek函数的功能是移动文件读/写指针,其用法为:long lseek(int handle, long offset, int fromwhere); 程序实例代码如下:

#include <sys\stat.h>

#include <string.h>

#include <stdio.h>

#include <fcntl.h>

#include <io.h>

int main(void)

{

   int handle;

   char msg[] = "This is a test";

   char ch;

   handle = open("TEST.$$$", O_CREAT | O_RDWR, S_IREAD | S_IWRITE);

    write(handle, msg, strlen(msg));

   lseek(handle, 0L, SEEK_SET);

   do

   {

      read(handle, &ch, 1);

      printf("%c", ch);

   }  while (!eof(handle));

   close(handle);

   return 0;

}