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

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

    函数名: getcurdir
    功 能: 取指定驱动器的当前目录
    用 法: int getcurdir(int drive, char *direc);
    程序例:

    #i nclude
    #i nclude
    #i nclude

    char *current_directory(char *path)
    {
    strcpy(path, "X:\\"); /* fill string with form of response: X:\ */
    path[0] = 'A' + getdisk(); /* replace X with current drive letter */
    getcurdir(0, path+3); /* fill rest of string with current directory */
    return(path);
    }

    int main(void)
    {
    char curdir[MAXPATH];

    current_directory(curdir);
    printf("The current directory is %s\n", curdir);

    return 0;
    }

    函数名: getcwd
    功 能: 取当前工作目录
    用 法: char *getcwd(char *buf, int n);
    程序例:

    #i nclude
    #i nclude

    int main(void)
    {
    char buffer[MAXPATH];

    getcwd(buffer, MAXPATH);
    printf("The current directory is: %s\n", buffer);
    return 0;
    }

    函数名: getdate
    功 能: 取DOS日期
    用 法: void getdate(struct *dateblk);
    程序例:

    #i nclude
    #i nclude

    int main(void)
    {
    struct date d;

    getdate(&d);
    printf("The current year is: %d\n",
    d.da_year);
    printf("The current day is: %d\n",
    d.da_day);
    printf("The current month is: %d\n",
    d.da_mon);
    return 0;
    }

    函数名: getdefaultpalette
    功 能: 返回调色板定义结构
    用 法: struct palettetype *far getdefaultpalette(void);
    程序例:

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

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

    /* structure for returning palette copy */
    struct palettetype far *pal=(void *) 0;

    /* 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();
    /* terminate with an error code */
    exit(1);
    }

    setcolor(getmaxcolor());

    /* return a pointer to the default palette */
    pal = getdefaultpalette();

    for (i=0; i<16; i++)
    {
    printf("colors[%d] = %d\n", i,
    pal->colors[i]);
    getch();
    }

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

    函数名: getdisk
    功 能: 取当前磁盘驱动器号
    用 法: int getdisk(void);
    程序例:

    #i nclude
    #i nclude

    int main(void)
    {
    int disk;

    disk = getdisk() + 'A';
    printf("The current drive is: %c\n",
    disk);
    return 0;
    }

    函数名: getdrivername
    功 能: 返回指向包含当前图形驱动程序名字的字符串指针
    用 法: char *getdrivename(void);
    程序例:

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

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

    /* stores the device driver name */
    char *drivername;

    /* 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();
    /* terminate with an error code */
    exit(1);
    }

    setcolor(getmaxcolor());

    /* get name of the device driver in use */
    drivername = getdrivername();

    /* for centering text on the screen */
    settextjustify(CENTER_TEXT, CENTER_TEXT);

    /* output the name of the driver */
    outtextxy(getmaxx() / 2, getmaxy() / 2,
    drivername);

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

    函数名: getdta
    功 能: 取磁盘传输地址
    用 法: char far *getdta(void);
    程序例:

    #i nclude
    #i nclude

    int main(void)
    {
    char far *dta;

    dta = getdta();
    printf("The current disk transfer \
    address is: %Fp\n", dta);
    return 0;
    }

    函数名: getenv
    功 能: 从环境中取字符串
    用 法: char *getenv(char *envvar);
    程序例:

    #i nclude
    #i nclude

    int main(void)
    {
    char *s;

    s=getenv("COMSPEC"); /* get the comspec environment parameter */
    printf("Command processor: %s\n",s); /* display comspec parameter */

    return 0;
    }


    函数名: getfat, getfatd
    功 能: 取文件分配表信息
    用 法: void getfat(int drive, struct fatinfo *fatblkp);
    程序例:

    #i nclude
    #i nclude

    int main(void)
    {
    struct fatinfo diskinfo;
    int flag = 0;

    printf("Please insert disk in drive A\n");
    getchar();

    getfat(1, &diskinfo);
    /* get drive information */

    printf("\nDrive A: is ");
    switch((unsigned char) diskinfo.fi_fatid)
    {
    case 0xFD:
    printf("360K low density\n");
    break;

    case 0xF9:
    printf("1.2 Meg high density\n");
    break;

    default:
    printf("unformatted\n");
    flag = 1;
    }

    if (!flag)
    {
    printf(" sectors per cluster %5d\n",
    diskinfo.fi_sclus);
    printf(" number of clusters %5d\n",
    diskinfo.fi_nclus);
    printf(" bytes per sector %5d\n",
    diskinfo.fi_bysec);
    }

    return 0;
    }

    函数名: getfillpattern
    功 能: 将用户定义的填充模式拷贝到内存中
    用 法: void far getfillpattern(char far *upattern);
    程序例:

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

    int main(void)
    {
    /* request auto detection */
    int gdriver = DETECT, gmode, errorcode;
    int maxx, maxy;
    char pattern[8] = {0x00, 0x70, 0x20, 0x27, 0x25, 0x27, 0x04, 0x04};

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

    maxx = getmaxx();
    maxy = getmaxy();
    setcolor(getmaxcolor());

    /* select a user defined fill pattern */
    setfillpattern(pattern, getmaxcolor());

    /* fill the screen with the pattern */
    bar(0, 0, maxx, maxy);

    getch();

    /* get the current user defined fill pattern */
    getfillpattern(pattern);

    /* alter the pattern we grabbed */
    pattern[4] -= 1;
    pattern[5] -= 3;
    pattern[6] += 3;
    pattern[7] -= 4;

    /* select our new pattern */
    setfillpattern(pattern, getmaxcolor());

    /* fill the screen with the new pattern */
    bar(0, 0, maxx, maxy);

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

    函数名: getfillsettings
    功 能: 取得有关当前填充模式和填充颜色的信息
    用 法: void far getfillsettings(struct fillsettingstype far *fillinfo);
    程序例:

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

    / the names of the fill styles supported */
    char *fname[] = { "EMPTY_FILL",
    "SOLID_FILL",
    "LINE_FILL",
    "LTSLASH_FILL",
    "SLASH_FILL",
    "BKSLASH_FILL",
    "LTBKSLASH_FILL",
    "HATCH_FILL",
    "XHATCH_FILL",
    "INTERLEAVE_FILL",
    "WIDE_DOT_FILL",
    "CLOSE_DOT_FILL",
    "USER_FILL"
    };

    int main(void)
    {
    /* request auto detection */
    int gdriver = DETECT, gmode, errorcode;
    struct fillsettingstype fillinfo;
    int midx, midy;
    char patstr[40], colstr[40];

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

    /* get information about current fill pattern and color */
    getfillsettings(&fillinfo);

    /* convert fill information into strings */
    sprintf(patstr, "%s is the fill style.", fname[fillinfo.pattern]);
    sprintf(colstr, "%d is the fill color.", fillinfo.color);

    /* display the information */
    settextjustify(CENTER_TEXT, CENTER_TEXT);
    outtextxy(midx, midy, patstr);
    outtextxy(midx, midy+2*textheight("W"), colstr);

    /* clean up */
    getch();
    closegraph();
    return 0;
    }
    函数名: getftime
    功 能: 取文件日期和时间
    用 法: int getftime(int handle, struct ftime *ftimep);
    程序例:

    #i nclude
    #i nclude

    int main(void)
    {
    FILE *stream;
    struct ftime ft;

    if ((stream = fopen("TEST.$$$",
    "wt")) == NULL)
    {
    fprintf(stderr,
    "Cannot open output file.\n");
    return 1;
    }
    getftime(fileno(stream), &ft);
    printf("File time: %u:%u:%u\n",
    ft.ft_hour, ft.ft_min,
    ft.ft_tsec * 2);
    printf("File date: %u/%u/%u\n",
    ft.ft_month, ft.ft_day,
    ft.ft_year+1980);
    fclose(stream);
    return 0;
    }

    函数名: getgraphmode
    功 能: 返回当前图形模式
    用 法: int far getgraphmode(void);
    程序例:

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

    int main(void)
    {
    /* request auto detection */
    int gdriver = DETECT, gmode, errorcode;
    int midx, midy, mode;
    char numname[80], modename[80];

    /* 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();
    /* terminate with an error code */
    exit(1);
    }

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

    /* get mode number and name strings */
    mode = getgraphmode();
    sprintf(numname,
    "%d is the current mode number.",
    mode);
    sprintf(modename,
    "%s is the current graphics mode",
    getmodename(mode));

    /* display the information */
    settextjustify(CENTER_TEXT, CENTER_TEXT);
    outtextxy(midx, midy, numname);
    outtextxy(midx, midy+2*textheight("W"),
    modename);

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

    函数名: getftime
    功 能: 取文件日期和时间
    用 法: int getftime(int handle, struct ftime *ftimep);
    程序例:

    #i nclude
    #i nclude

    int main(void)
    {
    FILE *stream;
    struct ftime ft;

    if ((stream = fopen("TEST.$$$",
    "wt")) == NULL)
    {
    fprintf(stderr,
    "Cannot open output file.\n");
    return 1;
    }
    getftime(fileno(stream), &ft);
    printf("File time: %u:%u:%u\n",
    ft.ft_hour, ft.ft_min,
    ft.ft_tsec * 2);
    printf("File date: %u/%u/%u\n",
    ft.ft_month, ft.ft_day,
    ft.ft_year+1980);
    fclose(stream);
    return 0;
    }


    函数名: getgraphmode
    功 能: 返回当前图形模式
    用 法: int far getgraphmode(void);
    程序例:

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

    int main(void)
    {
    /* request auto detection */
    int gdriver = DETECT, gmode, errorcode;
    int midx, midy, mode;
    char numname[80], modename[80];

    /* 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();
    /* terminate with an error code */
    exit(1);
    }

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

    /* get mode number and name strings */
    mode = getgraphmode();
    sprintf(numname,
    "%d is the current mode number.",
    mode);
    sprintf(modename,
    "%s is the current graphics mode",
    getmodename(mode));

    /* display the information */
    settextjustify(CENTER_TEXT, CENTER_TEXT);
    outtextxy(midx, midy, numname);
    outtextxy(midx, midy+2*textheight("W"),
    modename);

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

    函数名: getimage
    功 能: 将指定区域的一个位图存到主存中
    用 法: void far getimage(int left, int top, int right, int bottom,
    void far *bitmap);
    程序例:

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

    void save_screen(void far *buf[4]);
    void restore_screen(void far *buf[4]);

    int maxx, maxy;

    int main(void)
    {
    int gdriver=DETECT, gmode, errorcode;
    void far *ptr[4];

    /* auto-detect the graphics driver and mode */
    initgraph(&gdriver, &gmode, "");
    errorcode = graphresult(); /* check for any errors */
    if (errorcode != grOk)
    {
    printf("Graphics error: %s\n", grapherrormsg(errorcode));
    printf("Press any key to halt:");
    getch();
    exit(1);
    }
    maxx = getmaxx();
    maxy = getmaxy();

    /* draw an image on the screen */
    rectangle(0, 0, maxx, maxy);
    line(0, 0, maxx, maxy);
    line(0, maxy, maxx, 0);

    save_screen(ptr); /* save the current screen */
    getch(); /* pause screen */
    cleardevice(); /* clear screen */
    restore_screen(ptr); /* restore the screen */
    getch(); /* pause screen */

    closegraph();
    return 0;
    }

    void save_screen(void far *buf[4])
    {
    unsigned size;
    int ystart=0, yend, yincr, block;

    yincr = (maxy+1) / 4;
    yend = yincr;
    size = imagesize(0, ystart, maxx, yend); /* get byte size of image */

    for (block=0; block<=3; block++)
    {
    if ((buf[block] = farmalloc(size)) == NULL)
    {
    closegraph();
    printf("Error: not enough heap space in save_screen().\n");
    exit(1);
    }

    getimage(0, ystart, maxx, yend, buf[block]);
    ystart = yend + 1;
    yend += yincr + 1;
    }
    }

    void save_screen(void far *buf[4])
    {
    unsigned size;
    int ystart=0, yend, yincr, block;

    yincr = (maxy+1) / 4;
    yend = yincr;
    size = imagesize(0, ystart, maxx, yend); /* get byte size of image */

    for (block=0; block<=3; block++)
    {
    if ((buf[block] = farmalloc(size)) == NULL)
    {
    closegraph();
    printf("Error: not enough heap space in save_screen().\n");
    exit(1);
    }

    getimage(0, ystart, maxx, yend, buf[block]);
    ystart = yend + 1;
    yend += yincr + 1;
    }
    }

    void restore_screen(void far *buf[4])
    {
    int ystart=0, yend, yincr, block;

    yincr = (maxy+1) / 4;
    yend = yincr;

    for (block=0; block<=3; block++)
    {
    putimage(0, ystart, buf[block], COPY_PUT);
    farfree(buf[block]);
    ystart = yend + 1;
    yend += yincr + 1;
    }
    }

    人生有三宝:终身运动,终身学习,终身反醒.吸收新知,提高效率,懂得相处,成就自己,也成就他人,创造最高价值。
  • 相关阅读:
    【Unity Addressables】Addressables源码移植优化(一)
    Unity Addressable热更系统尝试(一)
    python自动化测试,下载文件然后进行查询判断并且删除(比较准确!可用于多个重复的文件)
    python自动化测试-切换至iframe的具体操作。
    python自动化测试-给标签的属性值进行赋值。
    如何区分前后端bug
    python字符串中获取数字
    安装Xshell遇到的问题: xshell启动遇到由于找不到mfc110.dll,无法继续执行代码的解决方法/产品运行所需的信息检索失败。请重新安装xshell
    python自动化测试,遇到selenium.common.exceptions.ElementClickInterceptedException: Message: Element错的解决方法
    在线正则表达式校验
  • 原文地址:https://www.cnblogs.com/jimeper/p/304915.html
Copyright © 2011-2022 走看看