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

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


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

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

 

1.  unlock函数

unlock函数的功能是解除文件共享锁,其用法为:int unlock(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;

}

 2. vfprintf函数

vfprintf函数的功能是送格式化输出到一流中,其用法为int vfprintf(FILE *stream, char *format, va_list param);程序实例代码如下:

#include <stdio.h>

#include <stdlib.h>

#include <stdarg.h>

FILE *fp;

int vfpf(char *fmt, ...)

{

   va_list argptr;

   int cnt;

   va_start(argptr, fmt);

   cnt = vfprintf(fp, fmt, argptr);

   va_end(argptr);

   return(cnt);

}

int main(void)

{

   int inumber = 30;

   float fnumber = 90.0;

   char string[4] = "abc";

   fp = tmpfile();

   if (fp == NULL)

   {

      perror("tmpfile() call");

      exit(1);

   }

   vfpf("%d %f %s", inumber, fnumber, string);

   rewind(fp);

   fscanf(fp,"%d %f %s", &inumber, &fnumber, string);

   printf("%d %f %s\n", inumber, fnumber, string);

   fclose(fp);

   return 0;

}

3.  vfscanf函数

vfscanf函数的功能是从流中执行格式化输入, 其用法为:int vfscanf(FILE *stream, char *format, va_list param);程序实例代码如下:

#include <stdio.h>

#include <stdlib.h>

#include <stdarg.h>

FILE *fp;

int vfsf(char *fmt, ...)

{

   va_list  argptr;

   int cnt;

   va_start(argptr, fmt);

   cnt = vfscanf(fp, fmt, argptr);

   va_end(argptr);

   return(cnt);

}

int main(void)

{

   int inumber = 30;

   float fnumber = 90.0;

         char string[4] = "abc";

   fp = tmpfile();

   if (fp == NULL)

   {

      perror("tmpfile() call");

      exit(1);

   }

   fprintf(fp,"%d %f %s\n",inumber,fnumber,string);

   rewind(fp);

   vfsf("%d %f %s",&inumber,&fnumber,string);

   printf("%d %f %s\n",inumber,fnumber,string);

   fclose(fp);

   return 0;

}

4. vprintf函数

vprintf函数的功能是送格式化输出到stdout中,其用法为:int vprintf(char *format, va_list param);程序实例代码如下:

#include <stdio.h>

#include <stdarg.h>

int vpf(char *fmt, ...)

{

   va_list argptr;

   int cnt;

   va_start(argptr, format);

   cnt = vprintf(fmt, argptr);

   va_end(argptr);

   return(cnt);

}

int main(void)

{

   int inumber = 30;

   float fnumber = 90.0;

   char *string = "abc";

   vpf("%d %f %s\n",inumber,fnumber,string);

   return 0;

}