zoukankan      html  css  js  c++  java
  • C语言库函数大全及应用实例一

                                    [编程资料]C语言库函数大全及应用实例一

    函数名: abort
    功 能: 异常终止一个进程
    用 法: void abort(void);
    程序例:
    #i nclude
    #i nclude

    int main(void)
    {
    printf("Calling abort()\n");
    abort();
    return 0; /* This is never reached */
    }

    函数名: abs
    功 能: 求整数的绝对值
    用 法: int abs(int i);
    程序例:
    #i nclude
    #i nclude

    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 */

    #i nclude
    #i nclude
    #i nclude
    #i nclude

    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);
    程序例:
    #i nclude
    #i nclude

    int file_exists(char *filename);

    int main(void)
    {
    printf("Does NOTEXIST.FIL exist: %s\n",
    file_exists("NOTEXISTS.FIL") ? "YES" : "NO");
    return 0;
    }

    int file_exists(char *filename)
    {
    return (access(filename, 0) == 0);
    }

    函数名: acos
    功 能: 反余弦函数
    用 法: double acos(double x);
    程序例:
    #i nclude
    #i nclude

    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);
    程序例:
    #i nclude
    #i nclude
    #i nclude

    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);
    程序例:
    #i nclude
    #i nclude
    #i nclude
    #i nclude

    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);
    程序例:
    #i nclude
    #i nclude
    #i nclude

    int main(void)
    {
    struct tm t;
    char str[80];

    /* sample loading of tm structure */

    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 */

    /* converts structure to null terminated
    string */

    strcpy(str, asctime(&t));
    printf("%s\n", str);

    return 0;
    }

    函数名: asin
    功 能: 反正弦函数
    用 法: double asin(double x);
    程序例:
    #i nclude
    #i nclude

    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);
    程序例:
    #i nclude
    #i nclude
    #i nclude

    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);
    程序例:
    #i nclude
    #i nclude

    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);
    程序例:
    #i nclude
    #i nclude

    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);
    程序例:
    #i nclude
    #i nclude

    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);
    程序例:
    #i nclude
    #i nclude

    int main(void)
    {
    float f;
    char *str = "12345.67";

    f = atof(str);
    printf("string = %s float = %f\n", str, f);
    return 0;
    }

    函数名: atoi
    功 能: 把字符串转换成长整型数
    用 法: int atoi(const char *nptr);
    程序例:
    #i nclude
    #i nclude

    int main(void)
    {
    int n;
    char *str = "12345.67";

    n = atoi(str);
    printf("string = %s integer = %d\n", str, n);
    return 0;
    }

    函数名: atol
    功 能: 把字符串转换成长整型数
    用 法: long atol(const char *nptr);
    程序例:

    #i nclude
    #i nclude

    int main(void)
    {
    long l;
    char *str = "98765432";

    l = atol(lstr);
    printf("string = %s integer = %ld\n", str, l);
    return(0);
    }

    函数名: bar
    功 能: 画一个二维条形图
    用 法: void far bar(int left, int top, int right, int bottom);
    程序例:

    #i nclude
    #i nclude
    #i nclude
    #i nclude

    int main(void)
    {
    /* request auto detection */
    int gdriver = DETECT, gmode, errorcode;
    int midx, midy, i;

    /* initialize graphics and local variables */
    initgraph(&gdriver, &gmode, "");

    /* read result of initialization */
    errorcode = graphresult();
    if (errorcode != grOk) /* an error occurred */
    {
    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;

    /* loop through the fill patterns */
    for (i=SOLID_FILL; i
    {
    /* set the fill style */
    setfillstyle(i, getmaxcolor());

    /* draw the bar */
    bar(midx-50, midy-50, midx+50,
    midy+50);

    getch();
    }

    /* clean up */
    closegraph();
    return 0;
    }


    函数名: bar3d
    功 能: 画一个三维条形图
    用 法: void far bar3d(int left, int top, int right, int bottom,
    int depth, int topflag);
    程序例:

    #i nclude
    #i nclude
    #i nclude
    #i nclude

    int main(void)
    {
    /* request auto detection */
    int gdriver = DETECT, gmode, errorcode;
    int midx, midy, i;

    /* initialize graphics, local variables */
    initgraph(&gdriver, &gmode, "");

    /* read result of initialization */
    errorcode = graphresult();
    if (errorcode != grOk) /* an error occurred */
    {
    printf("Graphics error: %s\n", grapherrormsg(errorcode));
    printf("Press any key to halt:");
    getch();
    exit(1); /* terminate with error code */
    }

    midx = getmaxx() / 2;
    midy = getmaxy() / 2;

    /* loop through the fill patterns */
    for (i=EMPTY_FILL; i
    {
    /* set the fill style */
    setfillstyle(i, getmaxcolor());

    /* draw the 3-d bar */
    bar3d(midx-50, midy-50, midx+50, midy+50, 10, 1);

    getch();
    }

    /* clean up */
    closegraph();
    return 0;
    }

    函数名: bdos
    功 能: DOS系统调用
    用 法: int bdos(int dosfun, unsigned dosdx, unsigned dosal);
    程序例:

    #i nclude
    #i nclude

    /* Get current drive as 'A', 'B', ... */
    char current_drive(void)
    {
    char curdrive;

    /* Get current disk as 0, 1, ... */
    curdrive = bdos(0x19, 0, 0);
    return('A' + curdrive);
    }

    int main(void)
    {
    printf("The current drive is %c:\n", current_drive());
    return 0;
    }

    函数名: bdosptr
    功 能: DOS系统调用
    用 法: int bdosptr(int dosfun, void *argument, unsigned dosal);
    程序例:

    #i nclude
    #i nclude
    #i nclude
    #i nclude
    #i nclude
    #i nclude

    #define BUFLEN 80

    int main(void)
    {
    char buffer[BUFLEN];
    int test;

    printf("Enter full pathname of a directory\n");
    gets(buffer);

    test = bdosptr(0x3B,buffer,0);
    if(test)
    {
    printf("DOS error message: %d\n", errno);
    /* See errno.h for error listings */
    exit (1);
    }

    getcwd(buffer, BUFLEN);
    printf("The current directory is: %s\n", buffer);

    return 0;
    }

    函数名: bioscom
    功 能: 串行I/O通信
    用 法: int bioscom(int cmd, char abyte, int port);
    程序例:

    #i nclude
    #i nclude

    #define COM1 0
    #define DATA_READY 0x100
    #define TRUE 1
    #define FALSE 0

    #define SETTINGS ( 0x80 | 0x02 | 0x00 | 0x00)

    int main(void)
    {
    int in, out, status, DONE = FALSE;

    bioscom(0, SETTINGS, COM1);
    cprintf("... BIOSCOM [ESC] to exit ...\n");
    while (!DONE)
    {
    status = bioscom(3, 0, COM1);
    if (status & DATA_READY)
    if ((out = bioscom(2, 0, COM1) & 0x7F) != 0)
    putch(out);
    if (kbhit())
    {
    if ((in = getch()) == '\x1B')
    DONE = TRUE;
    bioscom(1, in, COM1);
    }
    }
    return 0;
    }


    函数名: biosdisk
    功 能: 软硬盘I/O
    用 法: int biosdisk(int cmd, int drive, int head, int track, int sector
    int nsects, void *buffer);
    程序例:

    #i nclude
    #i nclude

    int main(void)
    {
    int result;
    char buffer[512];

    printf("Testing to see if drive a: is ready\n");
    result = biosdisk(4,0,0,0,0,1,buffer);
    result &= 0x02;
    (result) ? (printf("Drive A: Ready\n")) :
    (printf("Drive A: Not Ready\n"));

    return 0;
    }

    函数名: biosequip
    功 能: 检查设备
    用 法: int biosequip(void);
    程序例:

    #i nclude
    #i nclude

    int main(void)
    {
    int result;
    char buffer[512];

    printf("Testing to see if drive a: is ready\n");
    result = biosdisk(4,0,0,0,0,1,buffer);
    result &= 0x02;
    (result) ? (printf("Drive A: Ready\n")) :
    (printf("Drive A: Not Ready\n"));

    return 0;
    }

    人生有三宝:终身运动,终身学习,终身反醒.吸收新知,提高效率,懂得相处,成就自己,也成就他人,创造最高价值。
  • 相关阅读:
    vs2005新控件演示系列之 向导《Wizard》
    搬家、钱、欲望、环境与命运
    母版页里面查找Repeater内控件,并构造URL
    恭喜哦!我在这里排名到250了!)(*&^%$#
    sql查询语言[我是网管论坛转载的精华贴]
    WCF 3.5对HTTP编程的增强
    WCF基础知识问与答
    印第安人的灵魂——敏捷回顾
    元数据交换绑定的秘密
    “轻松掌握WCF 帮你找到入门砖”访谈实录
  • 原文地址:https://www.cnblogs.com/jimeper/p/304902.html
Copyright © 2011-2022 走看看