C语言函数大全--g开头的函数(上)

Posted Huazie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言函数大全--g开头的函数(上)相关的知识,希望对你有一定的参考价值。

C语言函数大全

本篇介绍C语言函数大全–g开头的函数(上)

1. gcvt

1.1 函数说明

函数声明函数功能
char *gcvt(double value, int ndigit, char *buf);把浮点数转换成字符串,同时返回一个指向字符串的存储位置的指针的函数。

参数:
value: 被转换的值。
ndigit: 存储的有效数字位数。
buf: 结果的存储位置。

注意: gcvt 函数把一个浮点值转换成一个字符串 (包括一个小数点和可能的符号字节) 并存储该字符串在 buffer 中。该 buffer 应足够大以便容纳转换的值加上结尾的 结束符 '\\0',它是自动添加的。
如果一个缓冲区的大小为 ndigit + 1,则 gcvt 函数将覆盖该缓冲区的末尾。这是因为转换的字符串包括一个小数点以及可能包含符号和指数信息。

1.2 演示示例

#include <stdlib.h>
#include <stdio.h>

int main(void)

   char str[25];
   double num;
   int sig = 5; 

   num = 1.23;
   gcvt(num, sig, str);
   printf("string = %s\\n", str);

   num = -456.78912;
   gcvt(num, sig, str);
   printf("string = %s\\n", str);

   num = 0.345e5;
   gcvt(num, sig, str);
   printf("string = %s\\n", str);

   return(0);

1.3 运行结果

2. getarccoords

2.1 函数说明

函数声明函数功能
void getarccoords(struct arccoordstype *arccoords);取最后一次调用arc的坐标

2.2 演示示例

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

int main()

    int gdriver = DETECT, gmode, errorcode;
    struct arccoordstype arcinfo;
    int midx, midy;
    int stangle = 45, endangle = 270;
    char sstr[80], estr[80];

    initgraph(&gdriver, &gmode, "");

    errorcode = graphresult();
    if (errorcode != grOk)
    
      printf("Graphics error: %s\\n", grapherrormsg(errorcode));
      printf("Press any key to halt:");
      getch();
      exit(1);
    

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

    setcolor(getmaxcolor());
    arc(midx, midy, stangle, endangle, 100);
    // 取最后一次调用arc的坐标
    getarccoords(&arcinfo);

    sprintf(sstr, "*- (%d, %d)", arcinfo.xstart, arcinfo.ystart);
    sprintf(estr, "*- (%d, %d)", arcinfo.xend, arcinfo.yend);

    outtextxy(arcinfo.xstart, arcinfo.ystart, sstr);
    outtextxy(arcinfo.xend, arcinfo.yend, estr);

    getch();
    closegraph();
    return 0;


2.3 运行结果

3. getbkcolor

3.1 函数说明

函数声明函数功能
int getbkcolor(void);获取当前背景颜色
颜色值英文枚举中文描述
0BLACK
1BLUE
2GREEN绿
3CYAN
4RED
5MAGENTA洋红
6BROWN
7LIGHTGRAY淡灰
8DARKGRAY深灰
9LIGHTBLUE淡兰
10LIGHTGREEN淡绿
11LIGHTCYAN淡青
12LIGHTRED淡红
13LIGHTMAGENTA淡洋红
14YELLOW
15WHITE

3.2 演示示例

#include <graphics.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <conio.h>

int main(void)

    int gdriver = DETECT, gmode, errorcode;
    int bkcolor, midx, midy;
    char bkname[35];

    initgraph(&gdriver, &gmode, "");

    errorcode = graphresult();
    if (errorcode != grOk)
    
        printf("Graphics error: %s\\n", grapherrormsg(errorcode));
        printf("Press any key to halt:");
        getch();
        exit(1);
    

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

    settextjustify(CENTER_TEXT, CENTER_TEXT);
    cleardevice();

    for (int i = WHITE; i >= 0; i--)
    
        setbkcolor(i);
        bkcolor = getbkcolor(); // 获取当前背景颜色
        if (i == WHITE) setcolor(BLACK);
        else setcolor(WHITE);
        itoa(bkcolor, bkname, 10);
        strcat(bkname," is the current background color.");

        outtextxy(midx, midy, bkname);
        getch();
        cleardevice();
    

    getch();
    closegraph();
    return 0;


3.3 运行结果

4. getc

4.1 函数说明

函数声明函数功能
int getc(FILE *stream);从流中取字符

4.2 演示示例

#include <stdio.h>

int main()

    char ch;
    printf("Input a character:");
    ch = getc(stdin);
    printf("The character input was: '%c'\\n", ch);
    return 0;

4.3 运行结果

5. getchar

5.1 函数说明

函数声明函数功能
int getchar(void);stdin 流中读字符

5.2 演示示例

#include <stdio.h>

int main(void)

   int c;
   while ((c = getchar()) != '\\n')
      printf("%c ", c);

   return 0;

5.3 运行结果

6. getcolor

6.1 函数说明

函数声明函数功能
int getcolor(void);当前画线的颜色
颜色值英文枚举中文描述
0BLACK
1BLUE
2GREEN绿
3CYAN
4RED
5MAGENTA洋红
6BROWN
7LIGHTGRAY淡灰
8DARKGRAY深灰
9LIGHTBLUE淡兰
10LIGHTGREEN淡绿
11LIGHTCYAN淡青
12LIGHTRED淡红
13LIGHTMAGENTA淡洋红
14YELLOW
15WHITE

6.2 演示示例

#include <graphics.h>

int main(void)

    int gdriver = DETECT, gmode, errorcode;
    int color, midx, midy;
    char colname[35];

    initgraph(&gdriver, &gmode, "");

    errorcode = graphresult();
    /* an error occurred */
    if (errorcode != grOk)
    
        printf("Graphics error: %s\\n", grapherrormsg(errorcode));
        printf("Press any key to halt:");
        getch();
        exit(1);
    

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

    settextjustify(CENTER_TEXT, CENTER_TEXT);

    for (int i = WHITE; i > 0; i--)
    
        color = getcolor();
        itoa(color, colname, 10);
        strcat(colname, " is the current drawing color.");
        outtextxy(midx, midy, colname);
        getch();
        cleardevice();
        setcolor(i - 1);
    

    getch();
    closegraph();
    return 0;


6.3 运行结果

7. getcwd

7.1 函数说明

函数声明函数功能
char *getcwd(char *buffer, int maxlen);获取当前工作目录

注意:getcwd 函数是将当前工作目录的绝对路径复制到参数 buffer 所指的内存空间中,参数 maxlenbuffer 的空间大小。

7.2 演示示例

#include <stdio.h>
#include <dir.h>

#define MAXPATH 1000

int main()

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

7.3 运行结果

8. getdefaultpalette

8.1 函数说明

函数声明函数功能
struct palettetype* getdefaultpalette(void);获取调色板定义结构

8.2 演示示例

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>

int main(void)

    int gdriver = DETECT, gmode, errorcode;
    int i, midx, midy;;

    struct palettetype far *pal=NULL;

    initgraph(&gdriver, &gmode, "");

    errorcode = graphresult();
    if (errorcode != grOk)
    
        printf("Graphics error: %s\\n", grapherrormsg(errorcode));
        printf("Press any key to halt:");
        getch();
        exit(1);
    

    midx = getmaxx() / 3;
    midy = getmaxy() / 2;
    setcolor(getmaxcolor());
    // 获取调色板定义结构
    pal = getdefaultpalette();

    char buffer[100];
    for (i=BLACK; i<WHITE + 1; i++)
    
        sprintf(buffer, "colors[%d] = %d", i, pal->colors[i]);
        outtextxy(midx, midy, buffer);
        getch();
        cleardevice();
    

    getch();
    closegraph();
    return 0;


8.3 运行结果

9. getdrivername

9.1 函数说明

函数声明函数功能
char *getdrivename(void);获取当前图形驱动程序名字

9.2 演示示例

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

int main(void)

    int gdriver = DETECT, gmode, errorcode;
    char *drivername;
    initgraph(&gdriver, &gmode, "");
    errorcode = graphresult();
    if (errorcode != grOk)
    
        printf("Graphics error: %s\\n", grapherrormsg(errorcode));
        printf("Press any key to halt:");
        getch();
        exit(1);
    

    setcolor(getmaxcolor());

    // 当前图形驱动程序名字
    drivername = getdrivername();

    settextjustify(CENTER_TEXT, CENTER_TEXT);

    outtextxy(getmaxx() / 2, getmaxy() / 2, drivername);

    getch();
    closegraph();
    return 0;


9.3 运行结果

10. getfillpattern

10.1 函数说明

函数声明函数功能
void getfillpattern(char *upattern);将用户定义的填充模式拷贝到内存中

10.2 演示示例

#include <graphics.h>
#include <stdio.h>

int main(void)

    int gdriver = DETECT, gmode, errorcode;
    int maxx, maxy;
    char pattern[8] = 0x00, 0x70, 0x20, 0x27, 0x25, 0x27, 0x04, 0x04;

    initgraph(&gdriver, &gmode, "");

    errorcode = graphresult();
    if (errorcode != grOk)
    
        printf("Graphics error: %s\\n", grapherrormsg(errorcode));
        printf("Press any key to halt:");
        getch();
        exit(1);
    

    maxx = getmaxx();
    maxy = getmaxy();
    setcolor(getmaxcolor());
    // 选择用户定义的填充模式
    setfillpattern(pattern, getmaxcolor());

    bar(0, 0, maxx, maxy);

    getch();
    // 将用户定义的填充模式拷贝到内存中
    getfillpattern(pattern);

    pattern[0] += 1;
    pattern[1] -= 2;
    pattern[2] += 3;
    pattern[3] -= 4;
    pattern[4] += 5;
    pattern[5] -= 6;
    pattern[6] += 7;
    pattern[7] -= 8;
    // 选择用户定义的填充模式
    setfillpattern(pattern, getmaxcolor());

    bar(0, 0, maxx, maxy);

    getch();
    closegraph();
    return 0;


10.3 运行结果

11. getfillsettings

11.1 函数说明

函数声明函数功能
void getfillsettings(struct fillsettingstype *fillinfo);获取有关当前填充模式和填充颜色的信息

11.2 演示示例

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>

// 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()

   int gdriver = DETECT, gmode, errorcode;
   struct fillsettingstype fillinfo;
   int midx, midy;
   char patstr[40], colstr[40];

   initgraph(&gdriver

C语言中。如果编写了一个函数,想在不同源文件中调用。

要怎么把这个函数编译,用记事本可以吗,改成什么扩展名。是不是要和调用改函数的程序放在同一个文件夹中才可以调用?具体方法呢?

在你要调用的程序文件里包含被调用程序的头文件,如1.h,1.c,在1.c里定义好了你的函数"void print_xxx(){}",在1.h里申明"void print_xxx();"了这个,然后另一个文件就可以调用了,文件的开头写上:#include "1.h" 参考技术A 可以的。编辑成EXE文件,用cmd命令调用就可以了 参考技术B 改成.h(头文件),使用时加上#include "头文件名.h" 就行了

以上是关于C语言函数大全--g开头的函数(上)的主要内容,如果未能解决你的问题,请参考以下文章

c语言string的用法大全

c语言常用函数

C语言中。如果编写了一个函数,想在不同源文件中调用。

C语言库函数如何编写?

能列举些C语言中比较常见重要库函数的用法吗?

C语言库函数的相关概念