zoukankan      html  css  js  c++  java
  • C语言 常用函数A

    /*
    函数名: abort
    功  能: 异常终止一个进程
    用  法: void abort(void);
    程序例:
    */
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(void)
    {
      printf("Calling abort()\n");
      abort();
      return 0; /* This is never reached */
    }
    
    /*
    函数名: abs
    功  能: 求整数的绝对值
    用  法: int abs(int i);
    程序例:
    */
    #include <stdio.h>
    #include <math.h>
    
    int main(void)
    {
        int number = -1234;
        printf("number: %d absolute value: %d\n", number, abs(number));
     
        return 0;
    }
    
    /*
    函数名: absread, abswirte
    功  能: 绝对磁盘扇区读、写数据
    用  法: int absread(int drive, int nsects, int sectno, void *buffer);
     int abswrite(int drive, int nsects, in tsectno, void *buffer);
    程序例:
     absread example 
     The ERROR:
     'absread' : undeclared identifier
     请用 到纯 MS-dos 下用 Turbo C,windows下不允许 直接访问 硬盘扇区
    */
    
    #include <stdio.h>
    #include <conio.h>
    #include <process.h>
    #include <dos.h>
    
    int main(void)
    {
      int i, strt, ch_out, sector;
      char buf[512];
    
      printf("Insert a diskette into drive A and press any key\n");
      getch();
      sector = 0;
      if (absread(0, 1, sector, &buf) != 0)
      {
         perror("Disk problem");
         exit(1);
      }
      printf("Read OK\n");
      strt = 3;
      for (i=0; i<80; i++)
      {
         ch_out = buf[strt+i];
         putchar(ch_out);
      }
      printf("\n");
      return(0);
    }
    
    /*
    函数名: access
    功  能: 确定文件的访问权限
    用  法: int access(const char *filename, int amode);
    程序例:
    */
    #include <stdio.h>
    #include <io.h>
    #include <sys/stat.h>
    
    int file_exists(char* filename);
    
    int main(void)
    {
        printf("Does NOTEXIST.FIL exist: %s\n",
        file_exists("NOTEXISTS.FIL")?"YES":"NO");
    
        _creat("NOTEXISTS.FIL", _S_IWRITE); //创建文件
        printf("%d\n", _chmod("NOTEXISTS.FIL", _S_IREAD)); //修改权限为只读
        
        return 0;
    }
    
    int file_exists(char* filename)
    {
        return (access(filename, 0)==0);
    }
    
    /*
    函数名: acos
    功  能: 反余弦函数
    用  法: double acos(double x);
    程序例:
    */
    #include <stdio.h>
    #include <math.h>
    
    int main(void)
    {
        double result;
        double x = 0.5;
        
        result = acos(x);
        printf("The arc cosine of %lf is %lf\n", x, result);
        return 0;
    }
    
    函数名: allocmem
    功  能: 分配DOS存储段
    用  法: int allocmem(unsigned size, unsigned *seg);
    程序例:
    #include <dos.h>
    #include <alloc.h>
    #include <stdio.h>
    
    int main(void)
    {
      unsigned int size, segp;
      int stat;
    
      size = 64; /* (64 x 16) = 1024 bytes */
      stat = allocmem(size, &segp);
      if (stat == -1)
         printf("Allocated memory at segment: %x\n", segp);
      else
         printf("Failed: maximum number of paragraphs available is %u\n",
                stat);
    
      return 0;
    }
    
    函数名: arc
    功  能: 画一弧线
    用  法: void far arc(int x, int y, int stangle, int endangle, int radius);
    程序例:
    #include <graphics.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include <conio.h>
    
    int main(void)
    {
        /* request auto detection */
       int gdriver = DETECT, gmode, errorcode;
       int midx, midy;
       int stangle = 45, endangle = 135;
       int radius = 100;
    
       /* initialize graphics and local variables */
       initgraph(&gdriver, &gmode, "");
    
       /* read result of initialization */
       errorcode = graphresult();    /* an error occurred */
       if (errorcode != grOk)
       {
          printf("Graphics error: %s\n", grapherrormsg(errorcode));
          printf("Press any key to halt:");
          getch();
    
          exit(1);    /* terminate with an error code */
       }
    
       midx = getmaxx() / 2;
       midy = getmaxy() / 2;
       setcolor(getmaxcolor());
    
       /* draw arc */
       arc(midx, midy, stangle, endangle, radius);
    
       /* clean up */
       getch();
       closegraph();
       return 0;
    }
    
    /*
    函数名: asctime
    功  能: 转换日期和时间为ASCII码
    用  法: char *asctime(const struct tm *tblock);
    程序例:
    */
    #include <stdio.h>
    #include <string.h>
    #include <time.h>
    
    int main(void)
    {
        struct tm t;
        char str[80];
        
        t.tm_sec = 1; //seconds
        t.tm_min = 30; //minutes
        t.tm_hour = 9; //hour
        t.tm_mday = 22; //day of the month
        t.tm_mon = 11; //month
        t.tm_year = 56; //year does not include century
        t.tm_wday = 4; //day of the week 
        t.tm_yday = 0; //does not show in asctime
        t.tm_isdst = 0;//is daylight savtime;does not show in asctime
        
        strcpy( str, asctime(&t) );
        printf("%s\n", str);
        
        //获取当前时间
        time_t aclock;
        struct tm *today;
        time( &aclock );
        today = localtime(&aclock);
        printf( "The current date and time are: %s", asctime(today) );
    
        //输出年月日
        printf( "%d年%d月%d日\n", today->tm_year+1900, today->tm_mon+1,today->tm_mday );
    
        //系统时间
        char tmpbuf[128];
        _strtime( tmpbuf );
        printf( "OS time:%s\n",tmpbuf);
    
        //系统日期
        _strdate( tmpbuf );
        printf( "OS date:%s\n", tmpbuf);
    
        return 0;
    }
    
    /*
    函数名: asin
    功  能: 反正弦函数
    用  法: double asin(double x);
    程序例:
    */
    #include <stdio.h>
    #include <math.h>
    
    int main(void)
    {
        double result;
        double x = 0.5;
        
        result = asin(x);
        printf("The arc sin of %lf is %lf\n", x, result);
        return 0;
    }
    
    函数名: assert
    功  能: 测试一个条件并可能使程序终止
    用  法: void assert(int test);
    程序例:
    #include <assert.h>
    #include <stdio.h>
    #include <stdlib.h>
    
    struct ITEM {
       int key;
       int value;
    };
    
    /* add item to list, make sure list is not null */
    void additem(struct ITEM *itemptr) {
       assert(itemptr != NULL);
       /* add item to list */
    }
    
    int main(void)
    {
       additem(NULL);
       return 0;
    }
    
    函数名: atan
    功  能: 反正切函数
    用  法: double atan(double x);
    程序例:
    #include <stdio.h>
    #include <math.h>
    
    int main(void)
    {
       double result;
       double x = 0.5;
    
       result = atan(x);
       printf("The arc tangent of %lf is %lf\n", x, result);
       return(0);
    }
    
    函数名: atan2
    功  能: 计算Y/X的反正切值
    用  法: double atan2(double y, double x);
    程序例:
    #include <stdio.h>
    #include <math.h>
    
    int main(void)
    {
       double result;
       double x = 90.0, y = 45.0;
    
       result = atan2(y, x);
       printf("The arc tangent ratio of %lf is %lf\n", (y / x), result);
       return 0;
    }
    
    函数名: atexit
    功  能: 注册终止函数
    用  法: int atexit(atexit_t func);
    注意:按照ISO C的规定,一个进程可以登记多达32个函数,
    这些函数将由exit自动调用。atexit()注册的函数类型应为不接受任何参数的void函数,
    exit调用这些注册函数的顺序与它们 登记时候的顺序相反。同一个函数如若登记多次,
    则也会被调用多次。
    程序例:
    #include <stdio.h>
    #include <stdlib.h>
    
    void exit_fn1(void)
    {
       printf("Exit function #1 called\n");
    }
    
    void exit_fn2(void)
    {
       printf("Exit function #2 called\n");
    }
    
    int main(void)
    {
       /* post exit function #1 */
       atexit(exit_fn1);
       /* post exit function #2 */
       atexit(exit_fn2);
       return 0;
    }
    
    /*
    函数名: atof
    功  能: 把字符串转换成浮点数
    用  法: double atof(const char *nptr);
    功  能: 把字符串转换成长整型数
    用  法: int atoi(const char *nptr);
    
    功  能: 把字符串转换成长整型数
    用  法: long atol(const char *nptr);
    
    程序例:
    */
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(void)
    {
        float f;
        int n;
        long l;
        char* str = "123.45";
        
        f = atof(str);
        n = atoi(str);
        l = atol(str);
        printf("string = %s float = %.2lf\n", str, f);
        printf("string = %s integer = %d\n", str, n);
        printf("string = %s integer = %ld\n", str, l);
        return 0;
    }
    学习笔记转摘于: 丝酷网 http://www.pythonschool.com/
  • 相关阅读:
    spring冲刺第九天
    梦断代码读后感1
    spring冲刺第八天
    站立会议第三天
    站立会议第二天
    站立会议第一天
    购书问题
    团队项目NABCD分析
    你的灯亮着吗读书笔记3
    你的灯亮着吗读书笔记2
  • 原文地址:https://www.cnblogs.com/pythonschool/p/2849564.html
Copyright © 2011-2022 走看看