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

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


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

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

 

1.   sopen函数

sopen函数的功能是打开一共享文件,其用法为:int sopen(char *pathname, int access, int shflag, int permiss);程序实例如下:

#include <io.h>

#include <fcntl.h>

#include <sys\stat.h>

#include <process.h>

#include <share.h>

#include <stdio.h>

int main(void)

{

   int handle;

   int status;

   handle = sopen("c:\\autoexec.bat", O_RDONLY, SH_DENYNO, S_IREAD);

   if (!handle)

   {

      printf("sopen failed\n");

      exit(1);

   }

   status = access("c:\\autoexec.bat", 6);

   if (status == 0)

      printf("read/write access allowed\n");

   else

      printf("read/write access not allowed\n");

   close(handle);

   return 0;

}

 2.  spawnl函数

spawnl函数的功能是创建并运行子程序,其用法为int spawnl(int mode, char *pathname, char *arg0,arg1, ... argn, NULL);程序实例代码如下:

#include <process.h>

#include <stdio.h>

#include <conio.h>

int main(void)

{

   int result;

   clrscr();

   result = spawnl(P_WAIT, "tcc.exe", NULL);

   if (result == -1)

   {

      perror("Error from spawnl");

      exit(1);

   }

   return 0;

}

3.  srand函数

srand函数的功能是初始化随机数发生器, 其用法为:void srand(unsigned seed);程序实例代码如下:

#include <stdlib.h>

#include <stdio.h>

#include <time.h>

int main(void)

{

   int i;

   time_t t;

   srand((unsigned) time(&t));

   printf("Ten random numbers from 0 to 99\n\n");

   for(i=0; i<10; i++)

       printf("%d\n", rand() % 100);

   return 0;

}

4.  sscanf函数

sscanf函数用法为:int sscanf(char *string, char *format[,argument,...]);程序实例代码如下:

#include <stdio.h>

#include <conio.h>

int main(void)

{

   char label[20];

   char name[20];

   int entries = 0;

   int loop, age;

   double salary;

   struct Entry_struct

   {

      char  name[20];

      int   age;

      float salary;

   } entry[20];

   printf("\n\nPlease enter a label for the chart: ");

   scanf("%20s", label);

   fflush(stdin);

   printf("How many entries will there be? (less than 20) ");

   scanf("%d", &entries);

   fflush(stdin); 

   for (loop=0;loop<entries;++loop)

   {

      printf("Entry %d\n", loop);

      printf("  Name   : ");

      scanf("%[A-Za-z]", entry[loop].name);

      fflush(stdin);

      printf("  Age    : ");

      scanf("%d", &entry[loop].age);

      fflush(stdin); 

      printf("  Salary : ");

      scanf("%f", &entry[loop].salary);

      fflush(stdin);

   }

   printf("\nPlease enter your name, age and salary\n");

   scanf("%20s %d %lf", name, &age, &salary);

 

   printf("\n\nTable %s\n",label);

   printf("Compiled by %s  age %d  $%15.2lf\n", name, age, salary);

   for (loop=0;loop<entries;++loop)

      printf("%4d | %-20s | %5d | %15.2lf\n",

         loop + 1,

  entry[loop].name,

  entry[loop].age,

  entry[loop].salary);

   return 0;

}