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

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


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

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

 

1.   stat函数

stat函数的功能是读取打开文件信息,其用法为:int stat(char *pathname, struct stat *buff);程序实例如下:

#include <sys\stat.h>

#include <stdio.h>

#include <time.h>

#define FILENAME "TEST.$$$"

int main(void)

{

   struct stat statbuf;

   FILE *stream;

   if ((stream = fopen(FILENAME, "w+")) == NULL)

   {

      fprintf(stderr, "Cannot open output file.\n");

      return(1);

   }

   stat(FILENAME, &statbuf);

   fclose(stream);

   if (statbuf.st_mode & S_IFCHR)

      printf("Handle refers to a device.\n");

   if (statbuf.st_mode & S_IFREG)

      printf("Handle refers to an ordinary file.\n");

   if (statbuf.st_mode & S_IREAD)

      printf("User has read permission on file.\n");

   if (statbuf.st_mode & S_IWRITE)

      printf("User has write permission on file.\n");

   printf("Drive letter of file: %c\n", 'A'+statbuf.st_dev);

   printf("Size of file in bytes: %ld\n", statbuf.st_size);

   printf("Time file last opened: %s\n", ctime(&statbuf.st_ctime));

   return 0;

}

 2.  _status87函数

_status87函数的功能是取浮点状态,其用法为unsigned int _status87(void);程序实例代码如下:

#include <stdio.h>

#include <float.h>

int main(void)

{

   float x;

   double y = 1.5e-100;

   printf("Status 87 before error: %x\n", _status87());

   x = y;  /* <-- force an error to occur */

   y = x;

   printf("Status 87 after error : %x\n", _status87());

   return 0;

}

3.  stime函数

stime函数的功能是设置时间, 其用法为:int stime(long *tp);程序实例代码如下:

#include <stdio.h>

#include <time.h>

#include <dos.h>

int main(void)

{

   time_t t;

   struct tm *area;

   t = time(NULL);

   area = localtime(&t);

   printf("Number of seconds since 1/1/1970 is: %ld\n", t);

   printf("Local time is: %s", asctime(area));

   t++;

   area = localtime(&t);

   printf("Add a second:  %s", asctime(area));

   t += 60;

   area = localtime(&t);

   printf("Add a minute:  %s", asctime(area));

   t += 3600;

   area = localtime(&t);

   printf("Add an hour:   %s", asctime(area));

   t += 86400L;

   area = localtime(&t);

   printf("Add a day:     %s", asctime(area));

   t += 2592000L;

   area = localtime(&t);

   printf("Add a month:   %s", asctime(area));

   t += 31536000L;

   area = localtime(&t);

   printf("Add a year:    %s", asctime(area));

   return 0;

}

4. stpcpy函数

stpcpy函数的功能是拷贝一个字符串到另一个,其用法为:char *stpcpy(char *destin, char *source);程序实例代码如下:

#include <stdio.h>

#include <string.h>

int main(void)

{

   char string[10];

   char *str1 = "abcdefghi";

   stpcpy(string, str1);

   printf("%s\n", string);

   return 0;

}