• C语言库函数大全及应用实例九


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

    函数名: mktemp
    功 能: 建立唯一的文件名
    用 法: char *mktemp(char *template);
    程序例:

    #i nclude
    #i nclude

    int main(void)
    {
    /* fname defines the template for the
    temporary file. */

    char *fname = "TXXXXXX", *ptr;

    ptr = mktemp(fname);
    printf("%s\n",ptr);
    return 0;
    }

    函数名: MK_FP
    功 能: 设置一个远指针
    用 法: void far *MK_FP(unsigned seg, unsigned off);
    程序例:

    #i nclude
    #i nclude

    int main(void)
    {
    int gd, gm, i;
    unsigned int far *screen;

    detectgraph(&gd, &gm);
    if (gd == HERCMONO)
    screen = MK_FP(0xB000, 0);
    else
    screen = MK_FP(0xB800, 0);
    for (i=0; i<26; i++)
    screen[i] = 0x0700 + ('a' + i);
    return 0;
    }

    函数名: modf
    功 能: 把数分为指数和尾数
    用 法: double modf(double value, double *iptr);
    程序例:

    #i nclude
    #i nclude

    int main(void)
    {
    double fraction, integer;
    double number = 100000.567;

    fraction = modf(number, &integer);
    printf("The whole and fractional parts of %lf are %lf and %lf\n",
    number, integer, fraction);
    return 0;
    }

    函数名: movedata
    功 能: 拷贝字节
    用 法: void movedata(int segsrc, int offsrc, int segdest,
    int offdest, unsigned numbytes);
    程序例:

    #i nclude

    #define MONO_BASE 0xB000

    /* saves the contents of the monochrome screen in buffer */
    void save_mono_screen(char near *buffer)
    {
    movedata(MONO_BASE, 0, _DS, (unsigned)buffer, 80*25*2);
    }

    int main(void)
    {
    char buf[80*25*2];
    save_mono_screen(buf);
    }

    函数名: moverel
    功 能: 将当前位置(CP)移动一相对距离
    用 法: void far moverel(int dx, int dy);
    程序例:

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

    int main(void)
    {
    /* request auto detection */
    int gdriver = DETECT, gmode, errorcode;
    char msg[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 */
    }

    /* move the C.P. to location (20, 30) */
    moveto(20, 30);

    /* plot a pixel at the C.P. */
    putpixel(getx(), gety(), getmaxcolor());

    /* create and output a message at (20, 30) */
    sprintf(msg, " (%d, %d)", getx(), gety());
    outtextxy(20, 30, msg);

    /* move to a point a relative distance */
    /* away from the current value of C.P. */
    moverel(100, 100);

    /* plot a pixel at the C.P. */
    putpixel(getx(), gety(), getmaxcolor());

    /* create and output a message at C.P. */
    sprintf(msg, " (%d, %d)", getx(), gety());
    outtext(msg);

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

    函数名: movetext
    功 能: 将屏幕文本从一个矩形区域拷贝到另一个矩形区域
    用 法: int movetext(int left, int top, int right, int bottom,
    int newleft, int newtop);
    程序例:
    #i nclude
    #i nclude

    int main(void)
    {
    char *str = "This is a test string";

    clrscr();
    cputs(str);
    getch();

    movetext(1, 1, strlen(str), 2, 10, 10);
    getch();

    return 0;
    }

    函数名: moveto
    功 能: 将CP移到(x, y)
    用 法: void far moveto(int x, int y);
    程序例:

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

    int main(void)
    {
    /* request auto detection */
    int gdriver = DETECT, gmode, errorcode;
    char msg[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 */
    }

    /* move the C.P. to location (20, 30) */
    moveto(20, 30);

    /* plot a pixel at the C.P. */
    putpixel(getx(), gety(), getmaxcolor());

    /* create and output a message at (20, 30) */
    sprintf(msg, " (%d, %d)", getx(), gety());
    outtextxy(20, 30, msg);

    /* move to (100, 100) */
    moveto(100, 100);

    /* plot a pixel at the C.P. */
    putpixel(getx(), gety(), getmaxcolor());

    /* create and output a message at C.P. */
    sprintf(msg, " (%d, %d)", getx(), gety());
    outtext(msg);

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

    函数名: movemem
    功 能: 移动一块字节
    用 法: void movemem(void *source, void *destin, unsigned len);
    程序例:

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

    int main(void)
    {
    char *source = "Borland International";
    char *destination;
    int length;

    length = strlen(source);
    destination = malloc(length + 1);
    movmem(source,destination,length);
    printf("%s\n",destination);

    return 0;
    }

    函数名: normvideo
    功 能: 选择正常亮度字符
    用 法: void normvideo(void);
    程序例:

    #i nclude

    int main(void)
    {
    normvideo();
    cprintf("NORMAL Intensity Text\r\n");
    return 0;
    }

    函数名: nosound
    功 能: 关闭PC扬声器
    用 法: void nosound(void);
    程序例:

    /* Emits a 7-Hz tone for 10 seconds.

    True story: 7 Hz is the resonant frequency of a chicken's skull cavity.
    This was determined empirically in Australia, where a new factory
    generating 7-Hz tones was located too close to a chicken ranch:
    When the factory started up, all the chickens died.

    Your PC may not be able to emit a 7-Hz tone.
    */

    int main(void)
    {
    sound(7);
    delay(10000);
    nosound();
    }


    void normvideo(void );
    选择正常亮度字符。
    将文本属性(前景和背景)置为启动程序时它所具有的值,来选择标准字符。

    void nosound(void );
    关闭由调用 sound而发声的扬声器。

    函数名: open
    功 能: 打开一个文件用于读或写
    用 法: int open(char *pathname, int access[, int permiss]);
    程序例:

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

    int main(void)
    {
    int handle;
    char msg[] = "Hello world";

    if ((handle = open("TEST.$$$", O_CREAT | O_TEXT)) == -1)
    {
    perror("Error:");
    return 1;
    }
    write(handle, msg, strlen(msg));
    close(handle);
    return 0;
    }

    函数名: outport
    功 能: 输出整数到硬件端口中
    用 法: void outport(int port, int value);
    程序例:

    #i nclude
    #i nclude
    int main(void)
    {
    int value = 64;
    int port = 0;

    outportb(port, value);
    printf("Value %d sent to port number %d\n", value, port);
    return 0;
    }

    函数名: outportb
    功 能: 输出字节到硬件端口中
    用 法: void outportb(int port, char byte);
    程序例:

    #i nclude
    #i nclude

    int main(void)
    {
    int value = 64;
    int port = 0;

    outportb(port, value);
    printf("Value %d sent to port number %d\n", value, port);
    return 0;
    }

    函数名: outtext
    功 能: 在视区显示一个字符串
    用 法: void far outtext(char far *textstring);
    程序例:

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

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

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

    /* move the C.P. to the center of the screen */
    moveto(midx, midy);

    /* output text starting at the C.P. */
    outtext("This ");
    outtext("is ");
    outtext("a ");
    outtext("test.");

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

    函数名: outtextxy
    功 能: 在指定位置显示一字符串
    用 法: void far outtextxy(int x, int y, char *textstring);
    程序例:

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

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

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

    /* output text at the center of the screen*/
    /* Note: the C.P. doesn't get changed.*/
    outtextxy(midx, midy, "This is a test.");

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

    函数名: parsfnm
    功 能: 分析文件名
    用 法: char *parsfnm (char *cmdline, struct fcb *fcbptr, int option);
    程序例:

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

    int main(void)
    {
    char line[80];
    struct fcb blk;

    /* get file name */
    printf("Enter drive and file name (no path - ie. a:file.dat)\n");
    gets(line);

    /* put file name in fcb */
    if (parsfnm(line, &blk, 1) == NULL)
    printf("Error in parsfm call\n");
    else
    printf("Drive #%d Name: %11s\n", blk.fcb_drive, blk.fcb_name);

    return 0;
    }

    函数名: peek
    功 能: 检查存储单元
    用 法: int peek(int segment, unsigned offset);
    程序例:

    #i nclude
    #i nclude
    #i nclude

    int main(void)
    {
    int value = 0;

    printf("The current status of your keyboard is:\n");
    value = peek(0x0040, 0x0017);
    if (value & 1)
    printf("Right shift on\n");
    else
    printf("Right shift off\n");

    if (value & 2)
    printf("Left shift on\n");
    else
    printf("Left shift off\n");

    if (value & 4)
    printf("Control key on\n");
    else
    printf("Control key off\n");

    if (value & 8)
    printf("Alt key on\n");
    else
    printf("Alt key off\n");

    if (value & 16)
    printf("Scroll lock on\n");
    else
    printf("Scroll lock off\n");

    if (value & 32)
    printf("Num lock on\n");
    else
    printf("Num lock off\n");

    if (value & 64)
    printf("Caps lock on\n");
    else
    printf("Caps lock off\n");

    return 0;
    }

    函数名: peekb
    功 能: 检查存储单元
    用 法: char peekb (int segment, unsigned offset);
    程序例:

    #i nclude
    #i nclude
    #i nclude

    int main(void)
    {
    int value = 0;

    printf("The current status of your keyboard is:\n");
    value = peekb(0x0040, 0x0017);
    if (value & 1)
    printf("Right shift on\n");
    else
    printf("Right shift off\n");

    if (value & 2)
    printf("Left shift on\n");
    else
    printf("Left shift off\n");

    if (value & 4)
    printf("Control key on\n");
    else
    printf("Control key off\n");

    if (value & 8)
    printf("Alt key on\n");
    else
    printf("Alt key off\n");

    if (value & 16)
    printf("Scroll lock on\n");
    else
    printf("Scroll lock off\n");

    if (value & 32)
    printf("Num lock on\n");
    else
    printf("Num lock off\n");

    if (value & 64)
    printf("Caps lock on\n");
    else
    printf("Caps lock off\n");

    return 0;
    }

    函数名: perror
    功 能: 系统错误信息
    用 法: void perror(char *string);
    程序例:

    #i nclude

    int main(void)
    {
    FILE *fp;

    fp = fopen("perror.dat", "r");
    if (!fp)
    perror("Unable to open file for reading");
    return 0;
    }

    函数名: pieslice
    功 能: 绘制并填充一个扇形
    用 法: void far pieslice(int x, int stanle, 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, radius = 100;

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

    /* set fill style and draw a pie slice */
    setfillstyle(EMPTY_FILL, getmaxcolor());
    pieslice(midx, midy, stangle, endangle, radius);

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

    函数名: poke
    功 能: 存值到一个给定存储单元
    用 法: void poke(int segment, int offset, int value);
    程序例:

    #i nclude
    #i nclude

    int main(void)
    {
    clrscr();
    cprintf("Make sure the scroll lock key is off and press any key\r\n");
    getch();
    poke(0x0000,0x0417,16);
    cprintf("The scroll lock is now on\r\n");
    return 0;
    }

    函数名: pokeb
    功 能: 存值到一个给定存储单元
    用 法: void pokeb(int segment, int offset, char value);
    程序例:

    #i nclude
    #i nclude

    int main(void)
    {
    clrscr();
    cprintf("Make sure the scroll lock key is off and press any key\r\n");
    getch();
    pokeb(0x0000,0x0417,16);
    cprintf("The scroll lock is now on\r\n");
    return 0;
    }

    函数名: poly
    功 能: 根据参数产生一个多项式
    用 法: double poly(double x, int n, double c[]);
    程序例:

    #i nclude
    #i nclude

    /* polynomial: x**3 - 2x**2 + 5x - 1 */

    int main(void)
    {
    double array[] = { -1.0, 5.0, -2.0, 1.0 };
    double result;

    result = poly(2.0, 3, array);
    printf("The polynomial: x**3 - 2.0x**2 + 5x - 1 at 2.0 is %lf\n",
    result);
    return 0;
    }

    函数名: pow
    功 能: 指数函数(x的y次方)
    用 法: double pow(double x, double y);
    程序例:

    #i nclude
    #i nclude

    int main(void)
    {
    double x = 2.0, y = 3.0;

    printf("%lf raised to %lf is %lf\n", x, y, pow(x, y));
    return 0;
    }

    函数名: pow10
    功 能: 指数函数(10的p次方)
    用 法: double pow10(int p);
    程序例:

    #i nclude
    #i nclude

    int main(void)
    {
    double p = 3.0;

    printf("Ten raised to %lf is %lf\n", p, pow10(p));
    return 0;
    }

    函数名: printf
    功 能: 产生格式化输出的函数
    用 法: int printf(char *format...);
    程序例:

    #i nclude
    #i nclude

    #define I 555
    #define R 5.5

    int main(void)
    {
    int i,j,k,l;
    char buf[7];
    char *prefix = buf;
    char tp[20];
    printf("prefix 6d 6o 8x 10.2e "
    "10.2f\n");
    strcpy(prefix,"%");
    for (i = 0; i < 2; i++)
    {
    for (j = 0; j < 2; j++)
    for (k = 0; k < 2; k++)
    for (l = 0; l < 2; l++)
    {
    if (i==0) strcat(prefix,"-");
    if (j==0) strcat(prefix,"+");
    if (k==0) strcat(prefix,"#");
    if (l==0) strcat(prefix,"0");
    printf("%5s |",prefix);
    strcpy(tp,prefix);
    strcat(tp,"6d |");
    printf(tp,I);
    strcpy(tp,"");
    strcpy(tp,prefix);
    strcat(tp,"6o |");
    printf(tp,I);
    strcpy(tp,"");
    strcpy(tp,prefix);
    strcat(tp,"8x |");
    printf(tp,I);
    strcpy(tp,"");
    strcpy(tp,prefix);
    strcat(tp,"10.2e |");
    printf(tp,R);
    strcpy(tp,prefix);
    strcat(tp,"10.2f |");
    printf(tp,R);
    printf(" \n");
    strcpy(prefix,"%");
    }
    }
    return 0;
    }


    函数名: putc
    功 能: 输出一字符到指定流中
    用 法: int putc(int ch, FILE *stream);
    程序例:

    #i nclude

    int main(void)
    {
    char msg[] = "Hello world\n";
    int i = 0;

    while (msg[i])
    putc(msg[i++], stdout);
    return 0;
    }

    函数名: putch
    功 能: 输出字符到控制台
    用 法: int putch(int ch);
    程序例:

    #i nclude
    #i nclude

    int main(void)
    {
    char ch = 0;

    printf("Input a string:");
    while ((ch != '\r'))
    {
    ch = getch();
    putch(ch);
    }
    return 0;
    }

    函数名: putchar
    功 能: 在stdout上输出字符
    用 法: int putchar(int ch);
    程序例:

    #i nclude

    /* define some box-drawing characters */
    #define LEFT_TOP 0xDA
    #define RIGHT_TOP 0xBF
    #define HORIZ 0xC4
    #define VERT 0xB3
    #define LEFT_BOT 0xC0
    #define RIGHT_BOT 0xD9

    int main(void)
    {
    char i, j;

    /* draw the top of the box */
    putchar(LEFT_TOP);
    for (i=0; i<10; i++)
    putchar(HORIZ);
    putchar(RIGHT_TOP);
    putchar('\n');

    /* draw the middle */
    for (i=0; i<4; i++)
    {
    putchar(VERT);
    for (j=0; j<10; j++)
    putchar(' ');
    putchar(VERT);
    putchar('\n');
    }

    /* draw the bottom */
    putchar(LEFT_BOT);
    for (i=0; i<10; i++)
    putchar(HORIZ);
    putchar(RIGHT_BOT);
    putchar('\n');

    return 0;
    }

    函数名: putenv
    功 能: 把字符串加到当前环境中
    用 法: int putenv(char *envvar);
    程序例:

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

    int main(void)
    {
    char *path, *ptr;
    int i = 0;

    /* get the current path environment */
    ptr = getenv("PATH");

    /* set up new path */
    path = malloc(strlen(ptr)+15);
    strcpy(path,"PATH=");
    strcat(path,ptr);
    strcat(path,";c:\\temp");

    /* replace the current path and display current environment */
    putenv(path);
    while (environ[i])
    printf("%s\n",environ[i++]);

    return 0;
    }

    函数名: putimage
    功 能: 在屏幕上输出一个位图
    用 法: void far putimage(int x, int y, void far *bitmap, int op);
    程序例:

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

    #define ARROW_SIZE 10

    void draw_arrow(int x, int y);

    int main(void)
    {
    /* request autodetection */
    int gdriver = DETECT, gmode, errorcode;
    void *arrow;
    int x, y, maxx;
    unsigned int size;

    /* 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();
    x = 0;
    y = getmaxy() / 2;

    /* draw the image to be grabbed */
    draw_arrow(x, y);

    /* calculate the size of the image */
    size = imagesize(x, y-ARROW_SIZE, x+(4*ARROW_SIZE), y+ARROW_SIZE);

    /* allocate memory to hold the image */
    arrow = malloc(size);

    /* grab the image */
    getimage(x, y-ARROW_SIZE, x+(4*ARROW_SIZE), y+ARROW_SIZE, arrow);

    /* repeat until a key is pressed */
    while (!kbhit())
    {
    /* erase old image */
    putimage(x, y-ARROW_SIZE, arrow, XOR_PUT);

    x += ARROW_SIZE;
    if (x >= maxx)
    x = 0;

    /* plot new image */
    putimage(x, y-ARROW_SIZE, arrow, XOR_PUT);
    }

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

    void draw_arrow(int x, int y)
    {
    /* draw an arrow on the screen */
    moveto(x, y);
    linerel(4*ARROW_SIZE, 0);
    linerel(-2*ARROW_SIZE, -1*ARROW_SIZE);
    linerel(0, 2*ARROW_SIZE);
    linerel(2*ARROW_SIZE, -1*ARROW_SIZE);
    }

    函数名: putpixel
    功 能: 在指定位置画一像素
    用 法: void far putpixel (int x, int y, int pixelcolor);
    程序例:

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

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

    int main(void)
    {
    /* request autodetection */
    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();
    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() + 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(x, y))
    putpixel(x, y, 0);
    }
    }

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

    函数名: puts
    功 能: 送一字符串到流中
    用 法: int puts(char *string);
    程序例:

    #i nclude
    int main(void)
    {
    char string[] = "This is an example output string\n";

    puts(string);
    return 0;
    }

    函数名: puttext
    功 能: 将文本从存储区拷贝到屏幕
    用 法: int puttext(int left, int top, int right, int bottom, void *source);
    程序例:

    #i nclude
    int main(void)
    {
    char buffer[512];

    /* put some text to the console */
    clrscr();
    gotoxy(20, 12);
    cprintf("This is a test. Press any key to continue ...");
    getch();

    /* grab screen contents */
    gettext(20, 12, 36, 21,buffer);
    clrscr();

    /* put selected characters back to the screen */
    gotoxy(20, 12);
    puttext(20, 12, 36, 21, buffer);
    getch();

    return 0;
    }

    函数名: putw
    功 能: 把一字符或字送到流中
    用 法: int putw(int w, FILE *stream);
    程序例:

    #i nclude
    #i nclude

    #define FNAME "test.$$$"

    int main(void)
    {
    FILE *fp;
    int word;

    /* place the word in a file */
    fp = fopen(FNAME, "wb");
    if (fp == NULL)
    {
    printf("Error opening file %s\n", FNAME);
    exit(1);
    }

    word = 94;
    putw(word,fp);
    if (ferror(fp))
    printf("Error writing to file\n");
    else
    printf("Successful write\n");
    fclose(fp);

  • 相关阅读:
    XML错误信息Referenced file contains errors (http://www.springframework.org/schema/beans/spring-beans-4.0.xsd). For more information, right click on the message in the Problems View ...
    Description Resource Path Location Type Cannot change version of project facet Dynamic Web Module to 2.3.
    maven创建web报错Cannot read lifecycle mapping metadata for artifact org.apache.maven.plugins:maven-compiler-plugin:maven-compiler-plugin:3.5.1:runtime Cause: error in opening zip file
    AJAX跨域
    JavaWeb学习总结(转载)
    JDBC学习笔记
    Java动态代理之JDK实现和CGlib实现
    (转)看懂UML类图
    spring boot配置使用fastjson
    python3下django连接mysql数据库
  • 原文地址:https://www.cnblogs.com/jimeper/p/304958.html
Copyright © 2020-2023  润新知