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

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

    函数名: getlinesettings
    功 能: 取当前线型、模式和宽度
    用 法: void far getlinesettings(struct linesettingstype far *lininfo):
    程序例:

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

    /* the names of the line styles supported */
    char *lname[] = { "SOLID_LINE",
    "DOTTED_LINE",
    "CENTER_LINE",
    "DASHED_LINE",
    "USERBIT_LINE"
    };

    int main(void)
    {
    /* request auto detection */
    int gdriver = DETECT, gmode, errorcode;
    struct linesettingstype lineinfo;
    int midx, midy;
    char lstyle[80], lpattern[80], lwidth[80];

    /* 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 line settings */
    getlinesettings(&lineinfo);

    /* convert line information into strings */
    sprintf(lstyle, "%s is the line style.",
    lname[lineinfo.linestyle]);
    sprintf(lpattern, "0x%X is the user-defined line pattern.",
    lineinfo.upattern);
    sprintf(lwidth, "%d is the line thickness.",
    lineinfo.thickness);

    /* display the information */
    settextjustify(CENTER_TEXT, CENTER_TEXT);
    outtextxy(midx, midy, lstyle);
    outtextxy(midx, midy+2*textheight("W"), lpattern);
    outtextxy(midx, midy+4*textheight("W"), lwidth);

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

    函数名: getmaxcolor
    功 能: 返回可以传给函数setcolor的最大颜色值
    用 法: int far getmaxcolor(void);
    程序例:

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

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

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

    /* grab the color info. and convert it to a string */
    sprintf(colstr, "This mode supports colors 0..%d", getmaxcolor());

    /* display the information */
    settextjustify(CENTER_TEXT, CENTER_TEXT);
    outtextxy(midx, midy, colstr);

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


    函数名: getmaxx
    功 能: 返回屏幕的最大x坐标
    用 法: int far getmaxx(void);
    程序例:

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

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

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

    /* convert max resolution values into strings */
    sprintf(xrange, "X values range from 0..%d", getmaxx());
    sprintf(yrange, "Y values range from 0..%d", getmaxy());

    /* display the information */
    settextjustify(CENTER_TEXT, CENTER_TEXT);
    outtextxy(midx, midy, xrange);
    outtextxy(midx, midy+textheight("W"), yrange);

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

    函数名: getmaxy
    功 能: 返回屏幕的最大y坐标
    用 法: int far getmaxy(void);
    程序例:

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

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

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

    /* convert max resolution values into strings */
    sprintf(xrange, "X values range from 0..%d", getmaxx());
    sprintf(yrange, "Y values range from 0..%d", getmaxy());

    /* display the information */
    settextjustify(CENTER_TEXT, CENTER_TEXT);
    outtextxy(midx, midy, xrange);
    outtextxy(midx, midy+textheight("W"), yrange);

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

    函数名: getmodename
    功 能: 返回含有指定图形模式名的字符串指针
    用 法: char *far getmodename(int mode_name);
    程序例:

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

    int main(void)
    {
    /* request autodetection */
    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();
    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 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;
    }

    函数名: getmoderange
    功 能: 取给定图形驱动程序的模式范围
    用 法: void far getmoderange(int graphdriver, int far *lomode,
    int far *himode);
    程序例:

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

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

    /* 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 the mode range for this driver */
    getmoderange(gdriver, &low, &high);

    /* convert mode range info. into strings */
    sprintf(mrange, "This driver supports modes %d..%d", low, high);

    /* display the information */
    settextjustify(CENTER_TEXT, CENTER_TEXT);
    outtextxy(midx, midy, mrange);

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

    函数名: getpalette
    功 能: 返回有关当前调色板的信息
    用 法: void far getpalette(struct palettetype far *palette);
    程序例:

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

    int main(void)
    {
    /* request auto detection */
    int gdriver = DETECT, gmode, errorcode;
    struct palettetype pal;
    char psize[80], pval[20];
    int i, ht;
    int y = 10;

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

    /* grab a copy of the palette */
    getpalette(&pal);

    /* convert palette info. into strings */
    sprintf(psize, "The palette has %d \
    modifiable entries.", pal.size);

    /* display the information */
    outtextxy(0, y, psize);
    if (pal.size != 0)
    {
    ht = textheight("W");
    y += 2*ht;
    outtextxy(0, y, "Here are the current \
    values:");
    y += 2*ht;
    for (i=0; i
    {
    sprintf(pval,
    "palette[%02d]: 0x%02X", i,
    pal.colors[i]);
    outtextxy(0, y, pval);
    }
    }

    /* clean up */
    getch();
    closegraph();

    return 0;
    }

    函数名: getpass
    功 能: 读一个口令
    用 法: char *getpass(char *prompt);
    程序例:

    #i nclude

    int main(void)
    {
    char *password;

    password = getpass("Input a password:");
    cprintf("The password is: %s\r\n",
    password);
    return 0;
    }

    函数名: getpixel
    功 能: 取得指定像素的颜色
    用 法: int far getpixel(int x, int y);
    程序例:

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

    #define PIXEL_COUNT 1000
    #define DELAY_TIME 100 /* in milliseconds */

    int main(void)
    {
    /* request auto detection */
    int gdriver = DETECT, gmode, errorcode;
    int i, x, y, color, maxx, maxy,
    maxcolor, seed;

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

    maxx = getmaxx() + 1;
    maxy = getmaxy() + 1;
    maxcolor = getmaxcolor() + 1;

    while (!kbhit())
    {
    /* seed the random number generator */
    seed = random(32767);
    srand(seed);
    for (i=0; i
    {
    x = random(maxx);
    y = random(maxy);
    color = random(maxcolor);
    putpixel(x, y, color);
    }

    delay(DELAY_TIME);
    srand(seed);
    for (i=0; i
    {
    x = random(maxx);
    y = random(maxy);
    color = random(maxcolor);
    if (color == getpixel)

    函数名: gets
    功 能: 从流中取一字符串
    用 法: char *gets(char *string);
    程序例:

    #i nclude

    int main(void)
    {
    char string[80];

    printf("Input a string:");
    gets(string);
    printf("The string input was: %s\n",
    string);
    return 0;
    }

    函数名: gettext
    功 能: 将文本方式屏幕上的文本拷贝到存储区
    用 法: int gettext(int left, int top, int right, int bottom, void *destin);
    程序例:

    #i nclude

    char buffer[4096];

    int main(void)
    {
    int i;
    clrscr();
    for (i = 0; i <= 20; i++)
    cprintf("Line #%d\r\n", i);
    gettext(1, 1, 80, 25, buffer);
    gotoxy(1, 25);
    cprintf("Press any key to clear screen...");
    getch();
    clrscr();
    gotoxy(1, 25);
    cprintf("Press any key to restore screen...");
    getch();
    puttext(1, 1, 80, 25, buffer);
    gotoxy(1, 25);
    cprintf("Press any key to quit...");
    getch();
    return 0;
    }

    函数名: gettextinfo
    功 能: 取得文本模式的显示信息
    用 法: void gettextinfo(struct text_info *inforec);
    程序例:

    #i nclude

    int main(void)
    {
    struct text_info ti;
    gettextinfo(&ti);
    cprintf("window left %2d\r\n",ti.winleft);
    cprintf("window top %2d\r\n",ti.wintop);
    cprintf("window right %2d\r\n",ti.winright);
    cprintf("window bottom %2d\r\n",ti.winbottom);
    cprintf("attribute %2d\r\n",ti.attribute);
    cprintf("normal attribute %2d\r\n",ti.normattr);
    cprintf("current mode %2d\r\n",ti.currmode);
    cprintf("screen height %2d\r\n",ti.screenheight);
    cprintf("screen width %2d\r\n",ti.screenwidth);
    cprintf("current x %2d\r\n",ti.curx);
    cprintf("current y %2d\r\n",ti.cury);
    return 0;
    }

    函数名: gettextsettings
    功 能: 返回有关当前图形文本字体的信息
    用 法: void far gettextsettings(struct textsettingstype far *textinfo);
    程序例:

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

    /* the names of the fonts supported */
    char *font[] = { "DEFAULT_FONT",
    "TRIPLEX_FONT",
    "***ALL_FONT",
    "SANS_SERIF_FONT",
    "GOTHIC_FONT"
    };

    /* the names of the text directions supported */
    char *dir[] = { "HORIZ_DIR", "VERT_DIR" };

    /* horizontal text justifications supported */
    char *hjust[] = { "LEFT_TEXT", "CENTER_TEXT", "RIGHT_TEXT" };

    /* vertical text justifications supported */
    char *vjust[] = { "BOTTOM_TEXT", "CENTER_TEXT", "TOP_TEXT" };

    int main(void)
    {
    /* request auto detection */
    int gdriver = DETECT, gmode, errorcode;
    struct textsettingstype textinfo;
    int midx, midy, ht;
    char fontstr[80], dirstr[80], sizestr[80];
    char hjuststr[80], vjuststr[80];

    /* 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 text settings */
    gettextsettings(&textinfo);

    /* convert text information into strings */
    sprintf(fontstr, "%s is the text style.", font[textinfo.font]);
    sprintf(dirstr, "%s is the text direction.", dir[textinfo.direction]);
    sprintf(sizestr, "%d is the text size.", textinfo.charsize);
    sprintf(hjuststr, "%s is the horizontal justification.",
    hjust[textinfo.horiz]);
    sprintf(vjuststr, "%s is the vertical justification.",
    vjust[textinfo.vert]);

    /* display the information */
    ht = textheight("W");
    settextjustify(CENTER_TEXT, CENTER_TEXT);
    outtextxy(midx, midy, fontstr);
    outtextxy(midx, midy+2*ht, dirstr);
    outtextxy(midx, midy+4*ht, sizestr);
    outtextxy(midx, midy+6*ht, hjuststr);
    outtextxy(midx, midy+8*ht, vjuststr);

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

    函数名: gettime
    功 能: 取得系统时间
    用 法: void gettime(struct time *timep);
    程序例:

    #i nclude
    #i nclude

    int main(void)
    {
    struct time t;

    gettime(&t);
    printf("The current time is: %2d:%02d:%02d.%02d\n",
    t.ti_hour, t.ti_min, t.ti_sec, t.ti_hund);
    return 0;
    }

    函数名: getvect
    功 能: 取得中断向量入口
    用 法: void interrupt(*getvect(int intr_num));
    程序例:

    #i nclude
    #i nclude

    void interrupt get_out(); /* interrupt prototype */

    void interrupt (*oldfunc)(); /* interrupt function pointer */
    int looping = 1;

    int main(void)
    {
    puts("Press to terminate");

    /* save the old interrupt */
    oldfunc = getvect(5);

    /* install interrupt handler */
    setvect(5,get_out);

    /* do nothing */
    while (looping);

    /* restore to original interrupt routine */
    setvect(5,oldfunc);

    puts("Success");
    return 0;
    }
    void interrupt get_out()
    {
    looping = 0; /* change global variable to get out of loop */
    }

    函数名: getverify
    功 能: 返回DOS校验标志状态
    用 法: int getverify(void);
    程序例:

    #i nclude
    #i nclude

    int main(void)
    {
    if (getverify())
    printf("DOS verify flag is on\n");
    else
    printf("DOS verify flag is off\n");
    return 0;
    }

    函数名: getviewsetting
    功 能: 返回有关当前视区的信息
    用 法: void far getviewsettings(struct viewporttype far *viewport);
    程序例:

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

    char *clip[] = { "OFF", "ON" };

    int main(void)
    {
    /* request auto detection */
    int gdriver = DETECT, gmode, errorcode;
    struct viewporttype viewinfo;
    int midx, midy, ht;
    char topstr[80], botstr[80], clipstr[80];

    /* 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 viewport */
    getviewsettings(&viewinfo);

    /* convert text information into strings */
    sprintf(topstr, "(%d, %d) is the upper left viewport corner.",
    viewinfo.left, viewinfo.top);
    sprintf(botstr, "(%d, %d) is the lower right viewport corner.",
    viewinfo.right, viewinfo.bottom);
    sprintf(clipstr, "Clipping is turned %s.", clip[viewinfo.clip]);

    /* display the information */
    settextjustify(CENTER_TEXT, CENTER_TEXT);
    ht = textheight("W");
    outtextxy(midx, midy, topstr);
    outtextxy(midx, midy+2*ht, botstr);
    outtextxy(midx, midy+4*ht, clipstr);

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

    人生有三宝:终身运动,终身学习,终身反醒.吸收新知,提高效率,懂得相处,成就自己,也成就他人,创造最高价值。
  • 相关阅读:
    python学习第十五天
    python学习第十三、十四天
    python学习第十二天
    python学习第j十一天
    python学习第十天
    ViewController push的自定义动画
    iOS 判断设备是否越狱
    iOS
    OBJC字面量
    ios8 share Extension 分享扩展
  • 原文地址:https://www.cnblogs.com/jimeper/p/304918.html
Copyright © 2011-2022 走看看